[英]PHP prepared statement not returning array
My array is empty when I'm binding an id variable.当我绑定一个 id 变量时,我的数组是空的。 The table contains 5 columns that I'd like in an array.
该表包含我希望在数组中的 5 列。 This is what I tried:
这是我尝试过的:
$records = array();
$id = 22;
if($results = $db->prepare("SELECT * FROM categories WHERE id = ?")) {
$results->bind_param('i', $id);
$results->execute();
if($results->num_rows) {
while($row = $results->fetch_object()) {
$records[] = $row;
}
$results->free();
}
}
print_r($records);
you are binding param 'i' but using a '?'您正在绑定参数 'i' 但使用的是 '?' placeholder.
占位符。 Use one of these:
使用其中之一:
if($results = $db->query("SELECT * FROM categories WHERE id = ?")) {
$results->bind_param(1, $id);
or或者
if($results = $db->query("SELECT * FROM categories WHERE id = :i")) {
$results->bind_param(':i', $id);
See http://www.php.net/manual/en/pdostatement.bindparam.php for more examples.有关更多示例,请参阅http://www.php.net/manual/en/pdostatement.bindparam.php 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.