sql >> Database >  >> RDS >> Mysql

MySQLi Query-retourwaarde in het geval van Select zonder overeenkomende rijen

Van MySQLi-documentatie :

Dus eigenlijk, zelfs als de zoekopdracht geen rijen retourneert, is het nog steeds een succesvolle zoekopdracht. U moet liever controleren op het aantal geretourneerde rijen. Wijzig uw if voorwaarde om:

If ($result->num_rows) {

Kanttekening:

  1. Dit is het juiste moment om de juiste eerste stappen te nemen in het werken met PHP-MySQL. In plaats van de zoekfunctie te gebruiken, moet u liever Voorbereide verklaringen gebruiken .
  2. Gebruik altijd de afhandeling van uitzonderingen (try-catch ), om andere fouten op te vangen tijdens het uitvoeren van query's.

Hier is de equivalente code die gebruikmaakt van voorbereide instructies en het afhandelen van uitzonderingen:

try {

    // Prepare the query
    $stmt = "SELECT * FROM bank 
             WHERE name = ? 
               AND day = ? 
               AND time = ?";

    // Bind the parameters
    // assuming that your day and time are integer values
    $stmt->bind_param("sii", 'jack', '1', '2');

    // execute the query
    $stmt->execute();

    // Getting results:
    $result = $stmt->get_result();

    if ($result->num_rows === 0) {
        echo "0 results";
    } else {
        echo "success";

        // reading results
        while($row = $result->fetch_assoc()) {
            $name = $row['name'];
            $day = $row['day'];
            $time = $row['time'];
        }
    }

} catch (Exception $e) {

     // your code to handle in case of exceptions here
     // generally you log error details, 
     //and send out specific error message alerts
}


  1. ORDER_BY datum LIMIT 1

  2. Een sitemap maken met PHP en MySQL

  3. ajax-gegevensantwoord altijd 0 in php mysql

  4. Totale functie over een bepaald tijdsinterval