gpt4 book ai didi

PHP/MySQL - 如果使用变量而不是硬编码值,查询将失败

转载 作者:行者123 更新时间:2023-11-29 04:56:48 24 4
gpt4 key购买 nike

我已经搜索和搜索并尝试了我读过的内容,但出于某种原因,当我使用变量而不是硬编码值时,我的查询失败了。

这是我的查询:

$bugzilla_query="SELECT * FROM profiles WHERE userid='".$bugzilla_id."'";

我通过执行以下操作获取 cookie 的值:

$bugzilla_id = $_COOKIE["Bugzilla_login"];

我开始怀疑查询是错误的,但是保存 cookie 值的变量没有正确检索它,即使它看起来是正确的,但是如果我再次设置 $bugzilla_id = 642; 它仍然不起作用,但如果我这样做 $bugzilla_query="SELECT * FROM profiles WHERE userid=642"; 它会完美地工作。

嗯,糊涂了!

最佳答案

通常,您永远不想将任何可以由用户直接修改的值放入查询中。此外,如果那应该是一个数字,为​​什么在启用变量的查询中将其放在单引号中,而不是在硬编码查询中?注意到区别了吗?试试这个:

$bugzilla_query = sprintf("SELECT * FROM profiles WHERE userid = %d", $bugzilla_id);

这将确保在进入查询之前将其转换为整数。

关于PHP/MySQL - 如果使用变量而不是硬编码值,查询将失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5835630/

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