Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL查询仅适用于WordPress_Php_Mysql_Wordpress - Fatal编程技术网

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字符是一个糟糕的主意。你可能可以将字段名用反勾(`)括起来