【发布时间】:2016-12-16 11:33:35
【问题描述】:
我在查询 mysql 数据库时遇到了 PHP 脚本的问题。
查询是:
SELECT COUNT(*) FROM theTable WHERE fieldValue = ‘Dom-Rémy'
我已经检查过,在管理控制台 (phpMyAdmin) 中手动执行此查询时,我可以找到一条与请求匹配的记录,这是我所期望的。
但是在代码如下的 PHP 脚本中,我总是得到 0 条记录(而不是 1 条):
$Query = "SELECT COUNT(*) FROM theTable WHERE fieldValue = 'Dom-Rémy'";
$DBR = mysql_query($Query,$Connection);
$NBR = mysql_result($DBR,0,0);
printf("NBR: %d\n",$NBR);
这是为什么呢?我怀疑 fieldValue 中的欧洲字符是导致问题的原因,但我应该怎么做才能使它起作用?
【问题讨论】:
-
您怀疑 fieldValue 中的欧洲字符会导致问题。这很容易测试。你做到了吗?
-
在传递给 sql 查询之前使用 mysql_real_escape_string('Dom-Rémy')
-
是的,但这没有任何区别。
-
不要在 PHP 中使用
mysql_*API;切换到mysqli_*或PDO。
标签: php mysql character-encoding