0
ローカルホストのMySQLデータベースからいくつかのデータを返そうとしています。例1 on this pageです。準備ができていない簡単なステートメントが動作しない
データベースとテーブルの両方が存在し、PhpMyAdminを使用してクエリを実行すると、5つの結果が正常に返されます。
マイページはtest.phpを、私はページを訪問するたびに、私が見ることができるすべての単語「がを接続」で呼ばれています。
私のコードは以下の通りです。
// Create connection
$conn = new mysqli('localhost', 'user', 'password', 'database');
// Check connection
if ($conn->connect_errno > 0) {
die('Unable to connect to database [' . $conn->connect_error . ']');
} else {
echo "connected </br>";
}
/* prepare statement */
if ($stmt = $conn->prepare("SELECT Status FROM hostloadslog LIMIT 5")) {
$stmt->execute();
/* bind variables to prepared statement */
$stmt->bind_result($col1);
/* fetch values */
while ($stmt->fetch()) {
printf("%s %s\n", $col1);
}
/* close statement */
$stmt->close();
}
何か助けやアドバイスをいただければ幸いです。あなたは2つのプレースホルダを使用したが、唯一のこれまで単一の文字列を渡しているので、
printf("%s %s\n", $col1);
が失敗した:
準備完了後のエラーを確認してください – Jens
準備文をif文の中に入れることはできません。 if文にexecuteを入れることもできます。 – McStuffins
'$ col1'がどのように見えるかを見てください:' printf( "%s%s \ n"、$ col1); 'はいくつかの点で間違っています:2つのプレースホルダがありますが、あなたはそれが[documentation](http://php.net/manual/en/mysqli.prepare.php)に従って行うことは可能ではないと思いますので、それは –