Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mencapai Fungsi Serupa dengan `mysql_fetch_array` MySQL Menggunakan PDO dalam PHP?

Bagaimanakah Saya Boleh Mencapai Fungsi Serupa dengan `mysql_fetch_array` MySQL Menggunakan PDO dalam PHP?

DDD
DDDasal
2024-12-15 03:52:09382semak imbas

How Can I Achieve Similar Functionality to MySQL's `mysql_fetch_array` Using PDO in PHP?

Menggunakan PDO untuk Mengambil Tatasusunan Hasil dalam PHP

Dalam usaha untuk mengurangkan kelemahan suntikan SQL, anda sedang berusaha untuk menggunakan PDO dan bukannya biasa sambungan MySQL. Tertanya-tanya sama ada skrip PDO anda akan menawarkan kefungsian yang serupa dengan skrip MySQL anda sebelum ini, anda mengemukakan dilema.

Skrip Asal:

Skrip PDO:

$pdo = new PDO('mysql:host=$host; dbname=$database;', $user, $pass);
$stmt = $pdo->prepare('SELECT * FROM auction WHERE name = :name');
$stmt->bindParam(':name', $_GET['searchdivebay']);
$stmt->execute(array(':name' => $name);

MySQL biasa Skrip:

$dbhost = @mysql_connect($host, $user, $pass) or die('Unable to connect to server');

@mysql_select_db('divebay') or die('Unable to select database');
$search = $_GET['searchdivebay'];
$query = trim($search);

$sql = "SELECT * FROM auction WHERE name LIKE '%" . $query . "%'";

if(!isset($query)){
    echo 'Your search was invalid';
    exit;
} //line 18

$result = mysql_query($trim);
$numrows = mysql_num_rows($result);
mysql_close($dbhost);

Fungsi Pengambilan PDO

Untuk mencapai kefungsian yang serupa dengan gelung while yang anda gunakan dengan skrip MySQL biasa anda, anda boleh menggunakan PDOStatement .fetchAll kaedah. Begini caranya:

$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
$result = $sth->fetchAll(\PDO::FETCH_ASSOC);

Susun Hasil:

Ini akan mengembalikan tatasusunan tatasusunan bersekutu, dengan setiap subtatasusunan mengandungi baris daripada set hasil. Sebagai contoh, sampel kod berikut akan menghasilkan output berikut:

print_r($result);

Output:

Array
(
    [0] => Array
        (
            [NAME] => pear
            [COLOUR] => green
        )

    [1] => Array
        (
            [NAME] => watermelon
            [COLOUR] => pink
        )
)

Struktur tatasusunan ini membolehkan anda mengakses data dari setiap baris dengan mudah, memastikan kefungsian yang setanding kepada skrip MySQL anda sebelum ini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Fungsi Serupa dengan `mysql_fetch_array` MySQL Menggunakan PDO dalam PHP?. 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