为什么在mysql_query(“string”)中使用$query而不是直接查询字符串?

发布于 2024-12-12 03:25:28 字数 239 浏览 0 评论 0原文

有人可以向我解释为什么以下内容不起作用:

mysql_query("DELETE FROM `categories` WHERE `id` = '{$id}'");

而以下内容确实有效:

$query = "DELETE FROM `categories` WHERE `id` = '{$id}'";
mysql_query($query);

Could someone please explain to me why the following doesn't work:

mysql_query("DELETE FROM `categories` WHERE `id` = '{$id}'");

Whereas the following does work:

$query = "DELETE FROM `categories` WHERE `id` = '{$id}'";
mysql_query($query);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

梦太阳 2024-12-19 03:25:28

它们的工作原理应该完全相同。

试试这个:

mysql_query("DELETE FROM categories WHERE id = '{$id}'");

这对我总是有效。但有时将其放入变量中可以更轻松地使用。

They both should work exactly the same.

Try this:

mysql_query("DELETE FROM categories WHERE id = '{$id}'");

That always works for me. But putting it in a variable makes it easier to work with sometimes.

装纯掩盖桑 2024-12-19 03:25:28

两者没有区别。两者都容易受到 SQL 注入的攻击。您应该使用准备好的语句或mysql_real_escape_string

There's no difference between the two. Both are vulnerable to SQL injection, as well. You should use prepared statements or mysql_real_escape_string.

羁〃客ぐ 2024-12-19 03:25:28

两者之间没有功能差异,但将查询存储在单独的变量中可以更轻松地调试生成的语句。

例如

$sql = "...";
$result = mysql_query($sql);
if ($result === FALSE) {
    echo "Query failed: ", $sql, mysql_error();
}

There's no functional different between the two, but storing the query in a separate variable makes it easier to debug the statement that's produced.

e.g.

$sql = "...";
$result = mysql_query($sql);
if ($result === FALSE) {
    echo "Query failed: ", $sql, mysql_error();
}
最佳男配角 2024-12-19 03:25:28

我怀疑在线示例刚刚开始使用单独的 $query 变量,人们在没有真正考虑它的情况下复制了它,然后更多的示例实现了它,现在很多人都这样做,但不一定知道为什么。这就是生活。

I suspect online examples just started using a separate $query variable, and people copied it without really thinking about it, and then more examples implemented that, and now tons of people do it without necessarily knowing why. C'est la vie.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文