Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Semak Kewujudan Baris Dengan Berkesan Menggunakan 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'; }
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>
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!