带有where条件和ORDERBY子句的php pdo select查询

带有where条件和ORDERBY子句的php pdo select查询,php,mysql,pdo,Php,Mysql,Pdo,我需要从我的数据库中选择youtube源 我用php pdo创建代码 为此我提出了这样的条件 但这不起作用,甚至没有显示任何错误,也没有显示视频 当我从下面删除where条件时,请选择“查询其是否正常工作…” plz建议如何使用php pdo准备的语句将此条件放入select查询中 谢谢 下面是我要选择的代码。 <?php $youtubesource = "youtubesource <> ''"; $youtube = $database->getRows("SEL

我需要从我的数据库中选择youtube源

我用php pdo创建代码

为此我提出了这样的条件

但这不起作用,甚至没有显示任何错误,也没有显示视频

当我从下面删除where条件时,请选择“查询其是否正常工作…”

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));                        
?>

您是否需要发送给函数的数组参数中的:

$youtube = $database->getRows("SELECT youtubesource FROM news where youtubesource = :youtubesource ORDER BY id DESC LIMIT 0,1",array('youtubesource'=>$youtubesource));
此外,这是否正确:$youtubesource=“youtubesource”“”; 这不是吗 从新闻中选择youtubesource,其中youtubesource=
youtubesource'
ORDER BY id DESC LIMIT
或者类似的东西

如果我认真分析您的查询,我会看到:

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='youtubesource''
按id描述订购
限值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");                    
$youtube=$database->getRows(“从新闻中选择youtubesource,其中youtubesource“”和youtubesource按id DESC LIMIT 0,1的顺序不为空”);

看起来您的参数数组不好-这是
$youtubesource
的真实值吗?此查询在mysql中正常工作,但我在pdo准备的语句中确认了我的代码,在pdo中则是不工作的。请建议如何在我的查询中传递上述条件。我正在将youtube资源插入我的数据库中,类似于//www.youtube.com/embed/bVl3om0-GFE此。。。这是嵌入youtube videoyes my condition$youtube Source=“youtube Source''”;是准确的,也与mysql属性库一起工作以获得帮助。您的查询工作正常,但..我需要询问您此查询的条件在php pdo prepared query中的位置。。我的意思是通过mysql注入保护条件的位置…bcoz我通过使用arrayYou数组的位置条件是无用的,因为您只想检查值是否为空。如果您想检查where子句中的动态值,预处理语句非常有用。在这种情况下,这不是动态的,它检查不依赖于任何外部参数的NOTNULL。
$youtube = $database->getRows("SELECT youtubesource FROM news where youtubesource <> '' AND youtubesource is not null ORDER BY id DESC LIMIT 0,1");