我只是想在数据库中选择一个特定的行,但由于某种原因,我的结果集仍然是空的。但是,当我在HeidiSQL中运行查询时,我得到了结果。
我很难过。我没有看到我的代码有什么特别的错误,我已经尝试回复$mysqli->error
,但我没有任何错误。我还在代码中添加了ini_set('display_errors', 'On'); error_reporting(E_ALL);
。
$id =$_GET['sysid'];
$system_info = $mysqli->prepare("SELECT * FROM systems WHERE systems.id = ?");
$system_info->bind_param("i", $id);
$system_info->execute();
$system_info->store_result();
$system_info->bind_result($system_id, $system_name, $system_img);
答案 0 :(得分:2)
您需要fetch
结果。
$id = $_GET['sysid'];
$system_info = $mysqli->prepare("SELECT * FROM systems WHERE systems.id = ?");
$system_info->bind_param("i", $id);
$system_info->execute();
$system_info->bind_result($system_id, $system_name, $system_img);
$system_info->fetch();
然后,您可以使用$system_id
,$system_name
和$system_img
。
store_result
会返回mysqli_result
个对象;它会忽略bind_result
。
$id = $_GET['sysid'];
$system_info = $mysqli->prepare("SELECT * FROM systems WHERE systems.id = ?");
$system_info->bind_param("i", $id);
$system_info->execute();
$result = $system_info->store_result();
list($system_id, $system_name, $system_img) = $result->fetch_array(MYSQLI_NUM);