Problème de sémantique mysql -> mysqli
Bonsoir,
Devant fatalement migrer un jour l'actuelle version de mon hébergement (4.4) vers php 5.6 chez mon hébergeur,... mon site s'est tut ! :calim2:
J'ai donc pris sur moi de recomposer le code de ma page de requête
page d'accueil (index.html) champ de recherche -> get
récupération du get et exécution de 2 requêtes dans la bdd.
Après avoir un peu galéré pour les connexions, maintenant c'est bon, j'ai un petit problème avec ma première requête SELECT -> comptage du nombre de résultats.
Ancienne version :
Code:
1 2 3 4 5 6 7
|
$page = (isset ($_GET['page']) && is_numeric ($_GET['page'])) ? $_GET['page'] : 1;
$q = mysql_query ("SELECT COUNT(id_site) AS nb FROM sites WHERE CONCAT_WS (titre, descro,a, b, c, d, e, f, g, h, i, j) LIKE '%$search%' AND validation='valide'");
$d = mysql_fetch_assoc ($q); |
Nouvelle version avec un bug que je ne vois pas !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
//Comptage des réponses à la requête//
$page = (isset ($_GET['page']) && is_numeric ($_GET['page'])) ? $_GET['page'] : 1;
$requete1 = mysqli_query($connexion,"SELECT * FROM sites
WHERE CONCAT_WS(titre, descro,a, b, c, d, e, f, g, h, i, j) LIKE '%$search%' AND validation='valide'");
$row = $requete1->fetch_row();
if ($requete1===FALSE){
echo "échec de l'exécution de la requête.";
}
else {
echo 'Votre recherche comporte : ', mysqli_num_rows($requete1);
if($row > 1) { echo ' résultats'; } else { echo ' résultat'; } // on vérifie le nombre de résultats pour orthographier correctement.
}
$ok = mysqli_close($connexion) |
L'erreur mentionnée par MySQL :
Citation:
Fatal error: Call to a member function fetch_row() on a non-object in C:\xampp\htdocs....
Mais en faite si je modifie ma requête à sa plus simple expression : ... (SELECT * FROM sites);
bien sûr je ne réponds plus à la demande $_Get mais il me donne bien le total des sites ! sans erreur fetch_row
J'ai donc un problème d'expression, j'ai testé et cherché, mais l'œil et la tête se perdent !
Merci de votre retour.
Cdlt