Bu bir ay önce zaten vardı, ama oh iyi.
Yanılıyor olabilirim, ancak soru için ben bind_param
burada gerçekten sorun olmadığını duygu olsun. Her zaman, bazı koşulları tanımlamak için sorgu dizesinde kendisi direkt olarak, ?
tutucuları ayarlamak için bind_param
kullanarak gerekir. Bu gerçekten bir sorun değil.
Ben mysqli SELECT *
sorguları kullanarak vardı sorunu bind_result
parçasıdır. Ilginç alır orası. Ben Jeffrey Way Bu yazı geldi: http://jeff-way.com/2009/05/27/tricky-prepared-statements/ (Bu bağlantı, artık aktif değil). Script basitçe sonuçları üzerinden döngüler ve bir dizi olarak döndürür - Orada kaç sütun bilmek gerek, ve sen hala hazırlanmış ifadeleri kullanabilirsiniz.
Bu durumda, bu gibi bir şey olacaktır:
$stmt = $mysqli->prepare(
'SELECT * FROM tablename WHERE field1 = ? AND field2 = ?');
$stmt->bind_param('ss', $value, $value2);
$stmt->execute();
Sonra siteden pasajı kullanın:
$meta = $stmt->result_metadata();
while ($field = $meta->fetch_field()) {
$parameters[] = &$row[$field->name];
}
call_user_func_array(array($stmt, 'bind_result'), $parameters);
while ($stmt->fetch()) {
foreach($row as $key => $val) {
$x[$key] = $val;
}
$results[] = $x;
}
Ve $results
şimdi SELECT *
tüm bilgileri içerir. Bugüne kadar bu ideal bir çözüm bulundu.