Bind değişkenleri ile SELECT sorgusu örneği

2 Cevap php

Ben SELECT sorgusu içine girdi parametreleri bağlamak ve sonra çıkan satırlar getirmek için çalışıyorum, ama MySQLi ben alışığım ve ben PHP kılavuzda kaybolmadan ben diğer API'ler farklı gibi görünüyor.

Aşağıdaki yaklaşım doğru mudur?

$sql = 'SELECT product_id, product_name, area_id
    FROM product
    WHERE product_id = ?';
$stmt = $myMySQLi->prepare($sql);
if(!$stmt){
    throw new Exception('Prepare error');
}
if( !@$stmt->bind_param('i', $product_id) ){
    throw new Exception('Bind error');
}
if( !$stmt->execute() ){
    throw new Exception('Execute error');
}

Öyle ise, nasıl ilişkilendirilebilir dizilerin içine satırlarını mı? Bunu overcomplicating ediyorsam, nasıl hareket etmelidir?

2 Cevap

mysqli bir diziye sonuç almak için bir yol sağlamaz. Bu işlevsellik istiyorsanız iki seçeneğiniz var:

  1. mysqli uzatmak ve bir fetchAll yöntem yazmak
  2. artık PDO kullanabilirsiniz

ipucu: PDO kullanabilirsiniz

Sadece hayatınızı kolaylaştırmak için çalışıyoruz.

read this

bind_result değişkenler sonuçları eşleyebilirler kullanarak:

$stmt->bind_result($product_id, $product_name, $area_id);
while ($stmt->fetch()) {
    echo $product_id . ": " . $product_name;
}