gpt4 book ai didi

PHP SQL 准备的选择查询不返回任何内容

转载 作者:行者123 更新时间:2023-11-29 18:31:44 24 4
gpt4 key购买 nike

当我运行下面的代码时,它没有返回任何内容。当我在“?”的位置显式键入一个字符串时,它将返回预期结果,但到目前为止,使用准备好的版本对我来说还不起作用。我不认为存在任何类型的版本控制问题,因为过去使用准备好的语句进行 INSERT 查询对我有用。准备好的语句可能存在什么问题?

$pdo = new PDO("mysql:host=localhost;dbname=database", $user, $pass);
$sql = "SELECT * FROM table WHERE column LIKE '%?%';";
$stmt = $pdo->prepare($sql);
$stmt->execute(array($_GET['searchterm']));
$results = $stmt->fetchAll();
print_r($results);

最佳答案

您正在准备该值,因此它的行为不会像您只是将字符串放入查询中一样。

准备字符串时,您不需要添加 "',这一切已经为您完成。您需要添加 % 进入您要转义的值。

$pdo = new PDO("mysql:host=localhost;dbname=database", $user, $pass);
$sql = "SELECT * FROM table WHERE column LIKE ?;";
$stmt = $pdo->prepare($sql);
$stmt->execute(array("%{$_GET['searchterm']}%"));
$results = $stmt->fetchAll();
print_r($results);

关于PHP SQL 准备的选择查询不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45619478/

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