Php MySQL查询仅适用于WordPress
我试图找到一个答案,但我的问题似乎太具体了 我的查询包含拉丁字符:Php MySQL查询仅适用于WordPress,php,mysql,wordpress,Php,Mysql,Wordpress,我试图找到一个答案,但我的问题似乎太具体了 我的查询包含拉丁字符: $mydb->query("SELECT cotação FROM compras"); 在WordPress短代码中调用时,它工作正常,但在同一站点上的自定义php中,它给出了以下信息: 您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在第1行的“??o FROM compras”附近使用的正确语法 现在,我不想仅仅删除字符,因为我知道查询是有效的,我更想理解这个问题 这是怎么回事?谢谢。要在我的本
$mydb->query("SELECT cotação FROM compras");
在WordPress短代码中调用时,它工作正常,但在同一站点上的自定义php中,它给出了以下信息:
您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在第1行的“??o FROM compras”附近使用的正确语法
现在,我不想仅仅删除字符,因为我知道查询是有效的,我更想理解这个问题
这是怎么回事?谢谢。要在我的本地机器上运行,在我将排序规则和
名称设置为UTF8之前,它不会工作。从我在搜索中发现的大量数据来看,这是人们在使用非ASCII字符时遇到的主要问题
为了使其与本地PDO实例一起工作,我执行了以下操作:
$pdo->exec("SET collation_connection = utf8_bin");
$pdo->exec("SET NAMES utf8");
$all = $pdo->query("SELECT * FROM temp_cotação LIMIT 5")->fetchAll();
您可以在此处找到更多信息:
在我看来,最好是全局执行此操作,而不是针对每个连接执行此操作…我发现这样做是为了针对每个连接执行SET NAMES utf8
globaly:
要在mysqli_中执行相同的操作,请查看以下内容:
但是如果你问我的话,在表名中使用非ASCII字符是一个糟糕的主意。你可能可以将字段名用反勾(`)括起来