Sql PDO查询,x在哪里?isn';我不返回任何结果

Sql PDO查询,x在哪里?isn';我不返回任何结果,sql,pdo,Sql,Pdo,我目前正在将我的网站切换到PDO,我遇到了一些问题,遗憾的是,我不知道如何解决 我有这个疑问 $localnewssql = "SELECT n.newsID, n.type, n.title, n.headline, n.tagline, n.body, n.tags, n.date, ni.imageID, i.imageID, i.filename FROM tbl_news_articles AS n LEFT JOIN tbl_news_images AS ni ON

我目前正在将我的网站切换到PDO,我遇到了一些问题,遗憾的是,我不知道如何解决

我有这个疑问

$localnewssql = "SELECT n.newsID, n.type, n.title, n.headline, n.tagline, n.body, n.tags, n.date, ni.imageID, i.imageID, i.filename FROM tbl_news_articles AS n 
        LEFT JOIN tbl_news_images AS ni ON ni.newsID = n.newsID 
        LEFT JOIN tbl_images AS i ON i.imageID = ni.imageID
        WHERE n.tags LIKE ? 
        ORDER BY n.date DESC LIMIT 0, 6";
$param = "%sennen%";
$stmt = $conn->prepare($localnewssql);
$stmt->execute($param);
$localnews_data = $stmt->fetchAll();
但是当我使用foreach循环
$localnews\u data
时,没有返回任何内容。有人能帮我理解吗

我返回结果的旧MySQL代码是:

$localnewssql = "SELECT n.newsID, n.type, n.title, n.body, n.tags, n.date, ni.imageID, i.imageID, i.filename FROM tbl_news_articles AS n 
        LEFT JOIN tbl_news_images AS ni ON ni.newsID = n.newsID 
        LEFT JOIN tbl_images AS i ON i.imageID = ni.imageID
        WHERE n.tags LIKE '%sennen%' 
        ORDER BY n.date DESC LIMIT 0, 6";
$localnewsresult = mysqli_query($conn,$localnewssql);
不确定PDO版本返回空白数组的原因

有什么想法吗?
非常感谢

您需要向传递一个参数值数组,其中只传递一个字符串。将
$param
放入一个数组中,它将工作,即

$stmt->execute(array($param));

您需要向传递一个参数值数组,其中只传递一个字符串。将
$param
放入一个数组中,它将工作,即

$stmt->execute(array($param));

不要引用占位符
。谢谢@Parfait,仍然返回空数组tho?我已经用你的编辑更新了我的代码:)不要引用占位符,
。谢谢@Parfait,仍然返回一个空数组tho?我已经用您的编辑更新了我的代码:)life saver,非常感谢!!:D@BBLJ84别担心,我很高兴能帮上忙。救生员,非常感谢!!:D@BBLJ84别担心,我很高兴能帮上忙。