Bagaimana untuk Semak Kewujudan Baris Dengan Berkesan Menggunakan PDO?

DDD
Lepaskan: 2024-10-22 09:44:30
asal
498 orang telah melayarinya

How to Effectively Check Row Existence Using PDO?

Semakan Kewujudan Baris yang Cekap Menggunakan PDO

Dalam operasi pangkalan data, selalunya perlu untuk menentukan sama ada baris wujud sebelum melakukan tindakan tertentu. Dalam konteks ini, penyoal mendapatkan panduan tentang cara untuk menyemak kewujudan baris secara berkesan dalam pangkalan data menggunakan Objek Data PHP (PDO).

Untuk menangani isu ini, pendekatan pertama yang dicuba ialah menyemak kiraan yang diambil. barisan. Walau bagaimanapun, kod if (count($row) == 0) tidak berkesan kerana PDO menggunakan kaedah pengambilan untuk mendapatkan satu baris pada satu masa, oleh itu kiraan akan sentiasa 1. Begitu juga, if($stmt->rowCount( ) < 0) gagal memberikan hasil yang diingini.

Penyelesaian yang disyorkan melibatkan pemeriksaan nilai pulangan kaedah pengambilan secara langsung. Dalam contoh kod yang disediakan:

<code class="php">if( ! $row)
{
    echo 'nothing found';
}
Salin selepas log masuk

Jika panggilan ambil tidak menghasilkan baris, ia akan mengembalikan palsu, mencetuskan syarat if. Pendekatan ini secara berkesan menentukan ketiadaan baris.

Untuk menyemak berbilang baris, kaedah fetchAll boleh digunakan:

<code class="php">$rows = $stmt->fetchAll(PDO::FETCH_ASSOC); // Same here
if( ! $rows)
{
    echo 'nothing found';
}</p>
<p>Jika kaedah fetchAll gagal mengembalikan sebarang hasil, ia juga akan kembali palsu, menyebabkan syarat if dipenuhi.</p>
<p>Selain itu, adalah mungkin untuk mengelak daripada mengambil data secara eksplisit dengan mengarahkan MySQL untuk mengembalikan nilai 1 apabila baris sepadan dengan kriteria yang ditentukan:</p>
<pre class="brush:php;toolbar:false"><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>
Salin selepas log masuk

Kaedah ini akan melaksanakan pertanyaan yang mengembalikan nilai 1 jika padanan ditemui, atau palsu sebaliknya. Kaedah fetchColumn mendapatkan semula lajur pertama set hasil, dalam kes ini, 1 dikembalikan secara bersyarat.

Atas ialah kandungan terperinci Bagaimana untuk Semak Kewujudan Baris Dengan Berkesan Menggunakan PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!