在此问题上:
Mysqli query return empty results
这是我的PHP代码:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$mysqli2 = new mysqli('');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$sql2 = "SELECT message FROM wall_workouts_names WHERE id = '43' ";
$stmt2 = $mysqli2->prepare($sql2) or trigger_error($mysqli2->error."[$sql2]");
$stmt2->execute();
$stmt2->bind_result($message);
$stmt2->store_result();
$stmt2->fetch();
if($stmt2->num_rows > 0)
echo $message;
else
echo 'empty';
?>
从这段代码中我得到空字符串。
这是我在phpmyadmin的表格
当我使用此查询运行相同的代码时:
$sql2 = "SELECT workout_name FROM wall_workouts_names WHERE id = '43' ";
我的回声是“t”,应该是。
但是当我运行这个查询时:
$sql2 = "SELECT message FROM wall_workouts_names WHERE id = '43' ";
我得到空字符串,类似这样:“”。
我不明白我做错了什么。
答案 0 :(得分:1)
“正确的程序顺序是:
prepare -> execute -> store_result -> bind -> fetch
。”
我注意到您在致电store_result()
后呼叫bind_result()
。更改这些调用的顺序是否有所不同?