gpt4 book ai didi

php - 查询在 phpmyadmin 中有效,但在 PHP 中无效

转载 作者:行者123 更新时间:2023-11-29 23:49:53 26 4
gpt4 key购买 nike

好的,我有这样的查询

SELECT * FROM table WHERE column LIKE 'Blahblahblah Blah - Blah (Blah-Blah)'

(是的,列值的长度为 20-30 个字符)它在 phpmyadmin 中运行并返回约 100 个结果。但是当我在 PHP 框架 CI (CodeIgniter) 中尝试它时它不返回任何值。我的代码如下所示:

$sql = "SELECT * FROM table WHERE column LIKE '$val' ORDER BY column ASC";
$sql = $this->db->query($sql);
return $sql->result();

那么我该如何让它发挥作用呢?

最佳答案

在尝试使其工作之前,您确实非常需要更改构建查询的方式。您应该使用准备好的语句来引入变量,然后将它们绑定(bind)到值。

您编写的方式非常容易受到 SQL 注入(inject)攻击。 (假设 $val 包含 '; DROP DATABASE blah; ...。整个 SQL 语句现在是什么样子?)如果您尝试以当前的方式解决问题形式,你最终会得到一些有用但非常危险的东西。首先通过准备好的声明确保安全。

详细信息在 this linked question .

关于php - 查询在 phpmyadmin 中有效,但在 PHP 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25700420/

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