gpt4 book ai didi

php - 没有 bind_param 的 mysqli 准备语句

转载 作者:太空宇宙 更新时间:2023-11-03 12:16:02 25 4
gpt4 key购买 nike

我有用于选择 fname 的代码来自用户表上的最新记录。

$mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
$sdt=$mysqli->('SELECT fname FROM user ORDER BY id DESC LIMIT 1');
$sdt->bind_result($code);
$sdt->fetch();
echo $code ;

我在 bind_param 中使用了准备好的语句早些时候,但现在在上面的代码中,我第一次想使用没有绑定(bind)参数的准备语句,我不知道如何在不使用 bind_param() 的情况下从表中进行选择.怎么做?

最佳答案

如果像您的情况一样,没有要绑定(bind)的内容,则只需使用 query()

$res = $mysqli->query('SELECT fname FROM user ORDER BY id DESC LIMIT 1');
$fname = $res->fetch_row()[0] ?? false;

但是,即使查询中要使用单个变量,您也必须用占位符替换它,从而准备查询。

但是,在 2022 年及以后,(从 PHP 8.1 开始)您确实可以跳过 bind_param,即使对于准备好的查询,直接将变量发送到 execute(),在数组形式:

$query = "SELECT * FROM `customers` WHERE `Customer_ID`=?";
$stmt = $db->prepare($query);
$stmt->execute([$_POST['ID']]);
$result = $stmt->get_result();
$row = $result->fetch_assoc();

关于php - 没有 bind_param 的 mysqli 准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22115616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com