0

我只是想在数据库中选择一个特定的行,但我的结果集由于某种原因一直为空。但是,当我在 HeidiSQL 中运行查询时,我得到了结果。

我难住了。我没有看到我的代码有什么特别的问题,我试过 echoing $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);
4

1 回答 1

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);
于 2012-08-13T14:56:54.250 回答