我已经阅读了其他问题。该错误已在发布之前发布。这是一个常见的错误。如何/为什么我得到错误是独一无二的。不重复。
我知道此错误消息已经发布过,但不是我的特定复杂情况。我最近使用xammp将一个站点放在我的本地服务器上。在我上传之前,一切都在我的本地机器上正常工作。上传到我的网络主机后,我遇到了至少8个新问题但是已经能够解决每个问题。其中3个在本网站的帮助下。我相信在修复此错误后我会完成它。
问题出在我的广告轮播系统上。这是一个非常简单的脚本/系统。页面上的4个独立位置有4个数据库,我有旋转的广告。这是我试图在现场进行的第二个。我已经有第一个没有错误的工作。这个错误在第5行
有什么想法吗?一如既往地感谢一帮!
完全错误:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/xxxxxx/public_html/includes/adverts/sidead1.php on line 5
以下代码的一部分:
<?php
include '../includes/core/db/sidead1_dbinfo.php';
$ads = mysql_query("SELECT `advert_id1`, `title1`, `desc1`, `image1` FROM `sidead1` WHERE UNIX_TIMESTAMP() < `expires1` AND `shown1`=0 ORDER BY `advert_id1` ASC LIMIT 1");
while ($ads_row = mysql_fetch_assoc($ads)) {
$advert_id1 = $ads_row['advert_id1'];
$image1 = $ads_row['image1'];
$title1 = $ads_row['title1'];
$desc1 = $ads_row['desc1'];
mysql_query("UPDATE `sidead1` SET `shown1`=1, `impressions1`=`impressions1`+1 WHERE `advert_id1`=$advert_id1");
$shown1 = mysql_query("SELECT COUNT('advert_id1') FROM `sidead1` WHERE `shown1`=0");
if (mysql_result($shown1, 0) == 0) {
mysql_query("UPDATE `sidead1` SET `shown1`=0");
}
}
?>
答案 0 :(得分:1)
首先使用PDO!检查你是否从SELECT语句得到的东西是if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
答案 1 :(得分:0)
您没有在此处查看查询的返回值:
$ads = mysql_query("SELECT `advert_id1`, `title1`, `desc1`, `image1` FROM `sidead1` WHERE UNIX_TIMESTAMP() < `expires1` AND `shown1`=0 ORDER BY `advert_id1` ASC LIMIT 1");
我猜您在UNIX_TIMESTAMP() <
expires1``上出现语法错误。你可以这样找到:
if (($ads = mysql_query("...your query...")) == false) {
die("SQL Error:".mysql_error);
}
始终检查查询的返回状态。
哦 - mysql
已被弃用。对新项目使用mysqli
或PDO
。还有旧的!