在一个网站上工作时,我发现了一个相当奇怪的PDO问题。下面的代码只选择用户1发的帖子,不选择或3。
$sql = "SELECT postid FROM posts WHERE userid IN (:friends)";
$pdo->prepare($sql);
$pdo->execute(array(':friends' => '1, 2, 3'));
但是,以下代码从所有三个选项中选择post:
$sql = "SELECT postid FROM posts WHERE userid IN (1, 2, 3)";
$pdo->prepare($sql);
$pdo->execute();
这是为什么,我能做些什么让第一个像第二个一样工作?
您必须这样编写查询
$sql = "SELECT postid FROM posts WHERE userid IN (:friend1, :friend2, :friend3)";
$pdo->prepare($sql);
$pdo->execute([
':friend1' => '1',
':friend2' => '2',
':friend3' => '3',
]);