为什么在使用PHP进行查询时会出现错误

为什么在使用PHP进行查询时会出现错误,php,mysql,pdo,Php,Mysql,Pdo,我希望有人能帮助我:-) 我试图从我的mysql数据库中获取一些数据,该数据库位于simply.com 我发现了这个错误,但无法理解原因: 警告:PDO::query():SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;在第20行的/Applications/MAMP/htdocs/medieland/inc/connection.php第1行的“SELECT*FROM wp_postmeta”附近,查看与您的MySQL服务器版本对应的手册,了解要使用的正确语法

我希望有人能帮助我:-) 我试图从我的mysql数据库中获取一些数据,该数据库位于simply.com

我发现了这个错误,但无法理解原因:

警告:PDO::query():SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;在第20行的/Applications/MAMP/htdocs/medieland/inc/connection.php第1行的“SELECT*FROM wp_postmeta”附近,查看与您的MySQL服务器版本对应的手册,了解要使用的正确语法

    //Connection to Database
try {
    $db = new PDO ("mysql:host=$db_host;dbname=$db_name;charset=UTF8", "$db_user", "$db_pass");
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
} catch (Exception $e) {
    echo "unable to connect to db which is the wordpress database";
    exit;
}

$results= $db->query('SELECT * FROM wp_postmeta');
$post_id = $results->fetchAll();
我发现了错误。 正如CBroe所写,这是一个“看不见的”角色

我重写了它,没有复制/粘贴任何东西,它工作了

代码如下:

    try {
$db = new PDO("mysql:host=$db_host;dbname=$db_name;charset=UTF8", "$db_user", "$db_pass");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
} catch (Exception $e) {
echo $e;
}

try {
$sql="SELECT post_id FROM wp_postmeta WHERE meta_value LIKE '%start med at%' ORDER BY post_id DESC ";
$results=$db->query($sql);
$post_id = $results->fetchAll();
} catch (Exception $e) {
echo $e;
}
var_dump($post_id);

现在还不清楚这里到底出了什么问题。可能是某个“不可见”的字符在此时进入了您的代码,请尝试重新键入包含SQL语句的完整行,以排除通过复制粘贴或其他方式进入其中的任何内容。这一点非常好。我试试看你是对的。我重新打了一遍,一切都好了。谢谢