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

时间:2020-07-08 09:18:56

标签: php mysql pdo

我希望有人可以帮助我:-) 我试图从托管在simply.com上的mysql数据库中获取一些数据

我收到此错误,只是无法理解原因:

警告:PDO :: query():SQLSTATE [42000]:语法错误或访问冲突:1064您的SQL语法有错误;请参阅附录A。在第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();

1 个答案:

答案 0 :(得分:0)

我发现了错误。 正如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);
相关问题