Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana Anda Boleh Semak Kewujudan Baris dalam Pangkalan Data Menggunakan PDO?

Bagaimana Anda Boleh Semak Kewujudan Baris dalam Pangkalan Data Menggunakan PDO?

Susan Sarandon
Susan Sarandonasal
2024-10-22 10:32:02918semak imbas

How Can You Check the Existence of a Row in a Database Using PDO?

Cara Menyemak Kewujudan Baris dalam Pangkalan Data Menggunakan PDO

Apabila cuba melakukan tindakan bersyarat pada ketiadaan baris tertentu dalam pangkalan data, anda mungkin menghadapi kesukaran menggunakan kaedah tradisional seperti count($row) == 0 atau if($stmt->rowCount() < 0).

Pendekatan yang lebih berkesan adalah dengan memeriksa secara langsung mengembalikan nilai pertanyaan. Coretan kod berikut menggambarkan teknik ini:

<code class="php">$stmt = $conn->prepare('SELECT * FROM table WHERE ID=?');
$stmt->bindParam(1, $_GET['id'], PDO::PARAM_INT);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);

if( ! $row)
{
    echo 'nothing found';
}</p>
<p>Kaedah ini akan kembali benar jika baris wujud dalam pangkalan data, dan palsu jika tidak.</p>
<p>Untuk menyemak kewujudan berbilang baris , anda boleh menggunakan kaedah fetchAll():</p>
<pre class="brush:php;toolbar:false"><code class="php">$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // Same here
if( ! $rows)
{
    echo 'nothing found';
}</code>

Dalam situasi di mana anda ingin mengelak daripada mengambil data, anda boleh mengkonfigurasi MySQL untuk mengembalikan nilai boolean dengan menggunakan pertanyaan berikut:

<code class="php">$sql = 'SELECT 1 from table WHERE id = ? LIMIT 1';
$stmt = $conn->prepare($sql);
$stmt->execute([$_GET['id']]);

if($stmt->fetchColumn()) echo 'found';</code>

Kaedah ini akan mengembalikan nilai bukan sifar jika baris wujud dalam pangkalan data dan palsu sebaliknya.

Atas ialah kandungan terperinci Bagaimana Anda Boleh Semak Kewujudan Baris dalam Pangkalan Data Menggunakan PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn