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
Lepaskan: 2024-12-15 03:52:09
asal
378 orang telah melayarinya

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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);
Salin selepas log masuk

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);
Salin selepas log masuk

Output:

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

    [1] => Array
        (
            [NAME] => watermelon
            [COLOUR] => pink
        )
)
Salin selepas log masuk

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!

sumber:php.cn
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