Bonjour,

Voila je rencontre un petit problème avec mon code. Tout fonctionne plutôt bien mais le souci c'est qu'un message d'erreur s'affiche du style :
le problème : " if(mysqli_num_rows($result) > 0)"
Vous la trouverez dans le code ci-dessous.

( ! ) Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\wamp64\www\Bikeride\bdd.php on line 24
Call Stack

Time Memory Function Location

1 0.0005 402128 {main}( ) ...\bdd.php:0
2 0.0022 417352 mysqli_num_rows ( ) ...\bdd.php:24

Ce que je fais

Je suis allé sur la doc PHP pour changer la fonction obselète mais rien y fait. pourriez vous me filer un coup de main svp.

<?php
$connect = new mysqli("localhost", "root", "", "bikeride");
if ($connect->connect_error) {
echo "Echec lors de la connexion à MySQL : (" . $connect->connect_errno . ") " . $connect->connect_error;
}
$output = '';
if(isset($_POST["query"]))
{
$search = mysqli_real_escape_string($connect, $_POST["query"]);
$query = "
SELECT FROM base_rando
WHERE dept LIKE '%".$search."%'
OR dept_num LIKE '%".$search."%'
OR ville LIKE '%".$search."%'
OR description LIKE '%".$search."%'
";
}
else
{
$query = "
SELECT
FROM rando_base ORDER BY rando_id";
}
$result = mysqli_query($connect, $q=>uery);
if(mysqli_num_rows($result) > 0)
{
$output .= '<div class="table-responsive">
<table class="table table bordered">
<tr>
<th>Date</th>
<th>Dépt</th>
<th>Ville</th>
<th>Rando</th>
<th>Description</th>

                    </tr>';
while($row = mysqli_fetch_array($result))
{
    $output .= '
        <tr>
            <td>'.$row["date"].'</td>
            <td>'.$row["dept"].'</td>
            <td>'.$row["ville"].'</td>
            <td>'.$row["rando"].'</td>
            <td><a href="dep.php?id='.$row["rando_id"].'">Plus d\'infos</a></td>
        </tr>
    ';
}
echo $output;

}
else
{
echo 'Recherche non trouvé';
}
?>
Entourez votre code pour bien le mettre en forme



### Ce que je veux

Décrivez ici ce que vous cherchez à obtenir

### Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

3 réponses


Je te conseil dutiliser PDO pour te connecter à ta base de données et exécuter des requêtes.
http://php.net/manual/fr/pdo.connections.php

http://php.net/manual/fr/mysqli.query.php

sinon je vois une erreur dans ton code

$result = mysqli_query($connect, $q=>uery); 
le paramètre doit être la requête, alors que la tu fais passer la connection et une variable qui n'existe pas
$result = mysqli_query($query); // correct

Merci pour ton retour. je vais utiliser PDO.
bonne soirée