準備済みのステートメントにSQLクエリを書き直そうとしています。このクエリは正常に動作し、私に正しい出力を与えている:私は以下のコードに上記のコードを書き直すことを試みたバインドされた結果が返されない出力
<?php
$sql = "SELECT * FROM stores ORDER BY RAND () LIMIT 3";
$res = $mysqli->query($sql);
//print($res);
if ($res->num_rows > 0) {
// output data of each row
while($row = $res->fetch_assoc()) {
echo "id: " . $row["id"]. "<br>" .
"Headline: " . $row["head"]. "<br>".
"Description: " . $row["desc"]. "<br>";
}
} else {
echo "0 results";
}
?>
が、私は、任意の出力を取得しておりません。私が何か完全に間違っていることはありますか?
はコード
<?php include 'dbconnection.php' ?>
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
if (mysqli_connect_errno()) { echo "Error: no connexion allowed : " . mysqli_connect_error($mysqli); }
$query = " SELECT id, headline, description FROM stores WHERE id=? AND headline=? AND description=? ";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("iss",$id, $head, $desc); /* make sure that $id, $head, $desc are defined and that $id deserves a 'd' an not a 'i' */
$results = $stmt->execute();
$stmt->bind_result($id, $head, $desc); /* make sure you use all cols as you used SELECT (*) */
$stmt->store_result();
if ($stmt->num_rows > 0) {
while($stmt->fetch()){
echo"[ $id -> $head -> $desc ]<br />";
}
}
else
{ echo"[ no data ]"; }
?>
'のerror_reporting(E_ALL)を使用してください。あなたのページの上にini_set( 'display_errors'、1);とエラーがスローされた場合は私たちに知らせてください。 '$ id、$ head、$ desc'が定義されていることと、$ idが' d'を満たしていることを確認してください。最後に、 ')'と 'print_r($ result);' ' – OldPadawan
こんにちは。私は 'error_reporting(E_ALL);を追加しました。 ini_set( 'display_errors'、1); '。私は私が得ているエラーで私の質問を更新しました。 – Mimi
'$ result-> fetch_object'' $ stmt-> execute();とは何ですか? $ stmt-> bind_result($ col1、$ col2、...そしてすべての列が必要です); $ stmt-> store_result(); ($ stmt-> num_rows> 0){while($ stmt-> fetch()){/ *読み進める* /} ' – OldPadawan