gpt4 book ai didi

php - 在 SQL 语句中使用 '

转载 作者:行者123 更新时间:2023-12-01 00:20:36 25 4
gpt4 key购买 nike

我正在做一些 php;我发现下面的代码有效

function get_total_urls() {    
$total = mysql_query('SELECT COUNT(`url_key`) FROM `urls`');
return (int)mysql_result($total, 0);
}
get_total_urls();

但是下面的代码显示警告

function get_total_urls() {    
$total = mysql_query("SELECT COUNT('url_key') FROM 'urls'");
return (int)mysql_result($total, 0);
}
get_total_urls();

显示以下警告:

警告:mysql_num_rows() 要求参数 1 为资源,已给定 bool 值。

请帮忙;为什么第二个代码显示警告但第一个代码正常?第二个代码无法从数据库表中获取 'url_key' 的计数。


有没有办法在没有反引号的情况下编写第一个代码并且它会完美运行?

最佳答案

这是你的声明:

$total = mysql_query('SELECT COUNT(`url_key`) FROM `urls`');

在 MySQL 中,反引号用于分隔标识符——当它们与保留字冲突或包含不合时宜的字符(如空格、句点、逗号等)时。因为标识符不与保留字冲突并且不包含不合时宜的字符是个好主意,所以很少需要反引号。

你可以这样写:

$total = mysql_query('SELECT COUNT(url_key) FROM urls');

单引号应该用于字符串和日期常量。不要将它们用作标识符,它们只会导致混淆。毫无疑问,您已经注意到了。

关于php - 在 SQL 语句中使用 ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29319524/

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