我试图select distinct
使用mysqli从mysql数据库prepared statements
。
但是,当我运行我的代码时,我一点也没有收到错误,但是我也无法从mysql数据库中获得结果!
这是我的mysqli prepared statement
:
$stmt = $db_conx->prepare("SELECT DISTINCT `title`, `url` FROM `$Pages`");
echo $storePages;
$stmt->execute();
$stmt->bind_result($title, $url);
$stmt->store_result();
while($line=$stmt->fetch()){
$tvalue[] = $line;
}
但是此代码有效,我不想使用它,因为它不是mysqli准备的语句:
$sql = "SELECT DISTINCT title, url FROM $Pages";
$query = mysqli_query($db_conx, $sql);
while($line = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$tvalue[] = $line;
}
有人可以帮我这个忙吗?
谢谢
$stmt->fetch()
不返回获取的行,它仅返回true,false或null。请阅读文档。
结果存储在您告诉它在中使用的变量中$stmt->bind_result()
。
$stmt->execute();
$stmt->bind_result($title, $url);
$stmt->store_result();
while($stmt->fetch()) {
$tvalue[] = array('title'=>$title, 'url'=>$url);
}
如果您安装了mysqlnd(自PHP 5.4起默认情况下应启用此功能),则对情况而言将更为简单fetch_all()
。这样,您就不需要bind_result()
,也不需要遍历行:
$stmt->execute();
$result = $stmt->get_result();
$tvalue = $result->fetch_all();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句