Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQLi Query mengembalikan nilai jika Pilih tanpa baris yang cocok

Dari dokumentasi MySQLi :

Jadi pada dasarnya, bahkan jika kueri tidak mengembalikan baris apa pun, itu masih merupakan kueri yang berhasil. Anda sebaiknya memeriksa jumlah baris yang dikembalikan. Ubah if syarat untuk:

If ($result->num_rows) {

Catatan tambahan:

  1. Sekarang adalah waktu yang tepat untuk mengambil langkah awal yang benar dalam bekerja dengan PHP-MySQL. Daripada menggunakan fungsi kueri, sebaiknya gunakan Pernyataan yang Disiapkan .
  2. Selalu gunakan penanganan Pengecualian (try-catch ), untuk menangkap kesalahan lain selama eksekusi kueri.

Berikut adalah kode yang setara menggunakan pernyataan yang disiapkan dan penanganan pengecualian:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql agregat UDF (fungsi yang ditentukan pengguna) di C

  2. Kesalahan penguraian:kesalahan sintaksis, kesalahan '=' tak terduga

  3. Kueri SQL Inventaris Beberapa Tabel Kompleks

  4. Ringkasan catatan detail MySQL yang cocok dengan rentang alamat IP - diperlukan mySQL Jedi Knight

  5. Tidak dapat memperbarui data dari database MySQL