->fetch()
は、結果セットからデータをバインドされた変数にプルするコマンドであることを忘れています。
ます。また、クエリが実際にリテラル
if (!($stmt = $conn->prepare("SELECT password from members WHERE username = 'Bill'")))
{
echo "Prepare failed: (" . $conn->errno . ") " . $conn->error;
}
if (!$stmt->execute()) {
echo "Execute failed: (" . $conn->errno . ") " . $conn->error;
}
if (!$stmt->bind_result($result)){
echo "Bind failed";
}
$stmt->fetch();
echo $result;
二重引用符で囲まれた文字列内の単一引用符を使用することによって、より複雑なを取得するときに、特別にクエリを準備する点である、読みので、デバッグするために、クエリを簡単にすることができます準備の後にパラメータを渡すことができるようにします。準備された文を別のパラメータで複数回呼び出すこともできます。
これは、あなたがどのようなエラーが出るん
if (!($stmt = $conn->prepare("SELECT password from members WHERE username = ?")))
{
echo "Prepare failed: (" . $conn->errno . ") " . $conn->error;
}
if (!$stmt->bind_param("s", 'Bill')) {
echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}
if (!$stmt->execute()) {
echo "Execute failed: (" . $conn->errno . ") " . $conn->error;
}
if (!$stmt->bind_result($result)){
echo "Bind failed";
}
$stmt->fetch();
echo $result;
// bind a new value to the existing prepared query
if (!$stmt->bind_param("s", 'William')) {
echo "Binding parameters failed: (" . $stmt->errno . ") " . $stmt->error;
}
if (!$stmt->execute()) {
echo "Execute failed: (" . $conn->errno . ") " . $conn->error;
}
if (!$stmt->bind_result($result)){
echo "Bind failed";
}
$stmt->fetch();
echo $result;
より良い例かもしれませんか? –
'bind_result'の後に' fetch'を呼び出す必要があります。任意のmysqliチュートリアルまたは公式ドキュメントを参照してください。 –
私は何のエラーもありません。 echoコマンドは単に何も出力しません。 –