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

标签 php mysql cookies

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

这是我的查询:

$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/

相关文章:

javascript - cookie 是否仅适合客户端使用?

php - 错误 :The filename try. xlsx 在 excel_reader2.php 中不可读

mysql - sql-server 到 mysql 的翻译

php - 如何创建逗号分隔的单词

php - 警告 : mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean 值

php - fatal error : Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error' in

javascript - JS cookie div 可见性

javascript - 如何将 css 文件插入其中而不是声明颜色

php - 将一个父级和多个相同的子级转换为 xml

php - 为什么 Yii 操作在移动到 https ://时会出现 404 错误