我已经遵循了一堆关于在准备好的语句中使用SELECT的不同示例,但没有返回任何内容。* 编辑 * 我已经改变了我的代码看起来像这样:
$date1 = 2012-01-01;
$date2 = 2012-01-31;
$sql_con = new mysqli('db', 'username', 'password', 'database');
if($stmt = $sql_con->prepare("SELECT eventLogID FROM Country WHERE countryCode=? AND date BETWEEN ? AND ?")){
$stmt->bind_param("sss", $country_code, $date1,$date2);
$stmt->execute();
$i=0;
while ($stmt->fetch()){
$stmt->bind_result($row[$i]);
$i++;
}
$stmt->close();
$sql_con->close();
现在,除了第一个条目之外,所有需要的条目都被添加到$row[]中。为什么不添加第一个条目?提前感谢!
3条答案
按热度按时间ifmq2ha21#
使用
get_result
(而不是bind_result)vuv7lop32#
除了最简单的一行查询之外,我对mysqli中的“bind_result”一点也不感兴趣。
将整行填充到单个数组项中更好的方法是:
或
如果你不想要/需要字段名。
iyr7buue3#
我认为您必须像这样绑定到bind_results()中的列
这里$col1和$col2绑定到Country表的Code和Name列
(使用列名代替SELECT中的 *)
进一步参考:http://php.net/manual/en/mysqli-stmt.bind-result.php