0

DB内の特定の行を選択しようとしていますが、何らかの理由で結果セットが空のままになります。ただし、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);
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_resultmysqli_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 に答える