我需要从我的数据库中选择youtube源。
我在php pdo中创建我的代码。
因为我把这样的条件......
但这不起作用,甚至没有显示任何错误或者也没有显示视频。
当我从下面删除条件时,选择查询其工作正常....
plz建议如何使用php pdo预处理语句将此条件置于select查询中。
感谢...
下面是我选择的代码..
<?php
$youtubesource = "youtubesource <> ''";
$youtube = $database->getRows("SELECT youtubesource FROM news where youtubesource = :youtubesource ORDER BY id DESC LIMIT 0,1",array(':youtubesource'=>$youtubesource));
?>
下面是我的getrows功能
public function getRows($query, $params=array()){
try{
$stmt = $this->datab->prepare($query);
$stmt->execute($params);
return $stmt->fetchAll();
}catch(PDOException $e){
throw new Exception($e->getMessage());
}
}
答案 0 :(得分:2)
如果我分析你的查询,这就是我所看到的:
SELECT youtubesource
FROM news
WHERE youtubesource = :youtubesource
ORDER BY id DESC
LIMIT 0,1
:youtubesource
为youtubesource <> ''
,最终查询为:
SELECT youtubesource
FROM news
WHERE youtubesource = 'youtubesource <> '''
ORDER BY id DESC
LIMIT 0,1
youtubesource <> ''
建议您尝试获取所有尚未清空youtubesource字段的行。
在这种情况下,您的代码可能如下所示:
$youtube = $database->getRows("SELECT youtubesource FROM news where youtubesource <> '' AND youtubesource is not null ORDER BY id DESC LIMIT 0,1");
答案 1 :(得分:0)
您是否需要:在您发送给函数的数组参数中?
$youtube = $database->getRows("SELECT youtubesource FROM news where youtubesource = :youtubesource ORDER BY id DESC LIMIT 0,1",array('youtubesource'=>$youtubesource));
此外,这是正确的:$ youtubesource =&#34; youtubesource&lt;&gt; &#39;&#39;&#34 ;;
不会这样
选择youtubesource FROM news,其中youtubesource = youtubesource <> ''
ORDER BY id DESC LIMIT
或类似的东西