php - 选择带有准备好的语句的 MySqli OO

标签 php mysqli prepared-statement

如何使用准备好的语句与 MySqli OO 一起运行SELECT 语句?

我正在尝试学习,我可以执行 INSERTDELETEUPDATE 语句,但我在使用 时遇到问题选择。我一直在搜索,但我仍然不明白带有准备好的语句的 SELECT (阅读 PHP man page for prepared statements )。

没有准备好的语句,它效果很好:

$sql = "SELECT title FROM test
        WHERE id = 2";
    $result = $conn->query($sql);

    while($row = $result->fetch_assoc()) {
        echo $row["title"] . "<br>";
    }

    $conn->close();

使用准备好的语句:

我尝试过的方法不起作用。
我认为我在这种情况下显示数据时遇到问题。有人可以解释一下吗?

$stmt = $conn->prepare("SELECT title 
                        FROM test 
                        WHERE id = ?");

$stmt->bind_param("i", $id);
$id = 18;
$stmt->execute();
$stmt->bind_result($title);

while($stmt->fetch()) {
    echo $row["title"] . "<br>";
}

$stmt->close();
$conn->close();

最佳答案

这让我想知道为什么你没能成功 to the end of example并开始设计自己的语法。您认为 bind_result($title) 的用途是什么?您从哪里获得 $row

$stmt = $conn->prepare("SELECT title FROM test WHERE id = ?");
$stmt->bind_param("i", $id);
$id = 18;
$stmt->execute();
$stmt->bind_result($title);

while($stmt->fetch()) {
    echo $title . "<br>";
}

关于php - 选择带有准备好的语句的 MySqli OO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41551469/

相关文章:

php - Firefox 12 重定向后不重新加载页面

php - 基于用户输入创建 mysqli 连接时是否必须净化提交表单数据?

php - MYSQL二阶攻击问题

javascript - 表单输入未通过 PHP 传递到 mySQL 数据库

php - 准备好的语句没有执行

java - 查询结束后与数据库的连接未关闭

javascript - 如何将 html 表(由 JavaScript 动态创建)发送到 PHP 页面?

php - 通过 PHP 脚本将值发送到 Google Analytics

PHP:使用状态缓存页面

php - Mysqli准备的语句选择不起作用,不返回错误