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 !
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 :
Nouvelle version avec un bug que je ne vois pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
L'erreur mentionnée par MySQL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)Mais en faite si je modifie ma requête à sa plus simple expression : ... (SELECT * FROM sites);Fatal error: Call to a member function fetch_row() on a non-object in C:\xampp\htdocs....
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
Partager