Php 即使数据库中存在数据,MySQL查询也不返回任何结果
为什么此查询不显示多个数据。即使我有10/12的数据,但这行只显示1。检查我已将其限制为3,但它仅显示1Php 即使数据库中存在数据,MySQL查询也不返回任何结果,php,mysql,Php,Mysql,为什么此查询不显示多个数据。即使我有10/12的数据,但这行只显示1。检查我已将其限制为3,但它仅显示1 $getAds = mysql_query("SELECT * FROM advertises WHERE status='RUNNING' AND adult='0' AND (country LIKE '%$test%' OR country='ALL') AND (device LIKE '%$pabu%' OR device
$getAds = mysql_query("SELECT *
FROM advertises
WHERE status='RUNNING'
AND adult='0'
AND (country LIKE '%$test%' OR country='ALL')
AND (device LIKE '%$pabu%' OR device='ALL')
ORDER BY rand()
LIMIT 0,3");
我的数据库结构
表广告的表结构--
--------转储表广告的数据
状态是mysql中的一个关键字。所以试试这个
$getAds=mysql_query("SELECT * FROM advertises WHERE `status`='RUNNING' AND adult='0' AND (country LIKE '%test%' OR country='ALL') AND (device LIKE '%pabu%' OR device='ALL') ORDER BY rand() LIMIT 0,3");
您是否尝试对mysql\u查询返回的结果使用mysql\u fetch\u assoc?
请参阅特定示例#2mysql_query()
已被弃用,您可以改用PDO
试试下面
<?php
$dbcon = new PDO("mysql:host=localhost;dbname=test", 'root', '');
$test = 'All';
$pabu = 'All';
$qry = "SELECT *
FROM advertises
WHERE status='RUNNING'
AND adult='0'
AND (country LIKE '%$test%' OR country='ALL')
AND (device LIKE '%$pabu%' OR device='ALL')
ORDER BY rand()
LIMIT 0,3";
$rq = $dbcon->query($qry);
$op = ( $rq ) ? $rq->fetchAll(PDO::FETCH_ASSOC) : '';
echo '<pre>'; print_r($op);
?>
您确定,您有更多符合这些条件的数据吗?是的,我确定。我存储了40多个数据\n为什么你不能删除你的条件,在phpmyadmin上手动运行任务,并检查你是否获得了更多记录这也是同样的结果兄弟,我不这么认为,这是因为条件你可以发布你的表结构和记录请提供你的mysql表结构和示例数据我是新手。您需要哪种类型的结构MySQL表及其使用的列和数据类型。--Wap PhpMyAdmin 211--生成时间:2016-01-06 05:24--MySQL服务器版本:5.5.47-MariaDB--PHP版本:5.4.45--数据库:adquicom\u d
---------------------------------------表的表结构广告
——创建表广告
(id
int(11)非空自动增量,userid
int(11)非空,name
varchar(5000)非空,url
varchar(5000)非空,type
varchar(500)非空,device
varchar(500)非空,varchar(500)不为空,time
varchar(500)不为空,status
varchar(500)NOT NU--Wap PhpMyAdmin 211--生成时间:2016-01-06 05:24--MySQL服务器版本:5.5.47-MariaDB--PHP版本:5.4.45--数据库:adquicom\u d
----------------------------------------------------------------表广告的表结构
--创建表广告
(id
int(11) 非空自动递增,userid
int(11)非空,name
varchar(5000)非空,url
varchar(5000)非空,type
varchar(500)非空,device
varchar(500)非空,country
varchar(500)非空,time
varchar(500)非空,status
varchar(500)不需要,因为mysql\u查询
的结果不是来自查询的实际数据。顺便说一句,尝试使用PDO,因为mysql\u*
函数已被弃用。任何示例请检查我在回答中提供的链接,然后查看示例#2@user5742387你可以找到PDO的例子,但我需要mysql instea我对pdo没有任何想法
$getAds=mysql_query("SELECT * FROM advertises WHERE `status`='RUNNING' AND adult='0' AND (country LIKE '%test%' OR country='ALL') AND (device LIKE '%pabu%' OR device='ALL') ORDER BY rand() LIMIT 0,3");
<?php
$dbcon = new PDO("mysql:host=localhost;dbname=test", 'root', '');
$test = 'All';
$pabu = 'All';
$qry = "SELECT *
FROM advertises
WHERE status='RUNNING'
AND adult='0'
AND (country LIKE '%$test%' OR country='ALL')
AND (device LIKE '%$pabu%' OR device='ALL')
ORDER BY rand()
LIMIT 0,3";
$rq = $dbcon->query($qry);
$op = ( $rq ) ? $rq->fetchAll(PDO::FETCH_ASSOC) : '';
echo '<pre>'; print_r($op);
?>