我正在网站上进行教学使用,当我尝试构建一个执行某些逻辑的文件时,我遇到了一个小错误。MySQL资源错误?
基本上,代码是为了获得3个数据值,如果只有数据的第一位存在,它运行x查询,如果第一个和第二个存在它运行y查询,依此类推等等,直到它对GET数据运行8次测试。对于一些背景信息,水平=一类学习水平(IGCSE,IB,A-Levels),学科是一门学科(数学,英语,科学),学校是学校的名称。
数据库结构如下:
'id' INT(11)
'title' VARCHAR(255)
'description' VARCHAR(1000)
'filename' VARCHAR(255)
'uploader' VARCHAR(255)
'school' VARCHAR(255)
'subject' VARCHAR(255)
'level' VARCHAR(255)
'downloads' VARCHAR(20)
'views' VARCHAR(20)
'helpful' INT(11)
'nothelpful' INT(11)
'date' DATE
而且我运行下面的PHP代码:
<?
/*
YYY
YNY
YNN
YYN
NNN
NYN
NNY
NYY
*/
/* DECLARE VARS */
$subject = $_GET['subject'];
$level = $_GET['lvl'];
$school = $_GET['school'];
include("connect.php");
if($subject!="" && $level!="" && $school!=""){
/* GET Notes that have x subject, y level, and z school */
$yyyq = mysql_query("SELECT * FROM noteshare_notes WHERE subject='$subject' AND level='$level' AND school='$school' ORDER BY helpful DESC LIMIT 30"); /* quote missed here */
while($row=mysql_fetch_array($yyyq)){
echo '<span id="topic">[<a href="list.php?subject='.$row['subject'].'&lvl='.$row['level'].'">'.$row['level'].' '.$row['subject'].'</a>]</span> <a href="note.php?id='.$row['id'].'">'.$row['title'].'</a> <span id="usersize"><i>[uploaded by <a href="profile.php?id='.$row['uploader'].'">'.$row['uploader'].'</a>]</i></span><br>'; }
//yyy
}
if($subject!="" && $level!="" && $school==""){
/* Get Notes from x Subject and X Level, regardless of school. */
$yynq = mysql_query("SELECT * FROM noteshare_notes WHERE subject='$subject' AND level='$level' ORDER BY helpful DESC LIMIT 30"); /* quote missed here */
while($row=mysql_fetch_array($yynq)){
echo '<span id="topic">[<a href="list.php?subject='.$row['subject'].'&lvl='.$row['level'].'">'.$row['level'].' '.$row['subject'].'</a>]</span> <a href="note.php?id='.$row['id'].'">'.$row['title'].'</a> <span id="usersize"><i>[uploaded by <a href="profile.php?id='.$row['uploader'].'">'.$row['uploader'].'</a>]</i></span><br>'; }
//yyn
}
if($subject!="" && $level=="" && $school==""){
/* Get Level before Getting Notes without School */
$ynnq = mysql_query("SELECT * FROM noteshare_notes WHERE subject='$subject' GROUP BY level");
echo "<center>";
while($row=mysql_fetch_array($ynnq)){
echo '<a href="list.php?lvl='.$row['level'].'&subject='.$row['subject'].'">'.$row['level'].'</a><br>'; }
//ynn
}
if($subject!="" && $level=="" && $school!=""){
/* Get level based on school + subject */
$ynyq = mysql_query("SELECT * FROM noteshare_notes WHERE subject='$subject' AND school='$school' GROUP BY level");
while($row=mysql_fetch_array($ynyq)){
echo '<a href="list.php?lvl='.$row['level'].'&school='.$row['school'].'&subject='.$row['subject'].'">'.$row['level'].'</a><br>'; }
//yny
}
if($subject=="" && $level=="" && $school==""){
//Error - Nothing + Nothing + Nothing = Nothing
//nnn
}
if($subject=="" && $level=="" && $school!=""){
/* Get Subject First based on School, thus redirecting to previous ynn (reverse clause)*/
$nnyq = mysql_query("SELECT * FROM noteshare_notes WHERE school='$school' GROUP BY subject");
while($row=mysql_fetch_array($nnyq)){
echo '<a href="list.php?subject='.$row['subject'].'&school='.$row['school'].'">'.$row['subject'].'</a><br>'; }
//nny
}
if($subject=="" && $level!="" && $school!=""){
/* Get Subjects based on level + school */
$nyyq = mysql_query("SELECT * FROM noteshare_notes WHERE level='$level' AND school='$school' GROUP BY subject");
while($row=mysql_fetch_array($nyyq)){
echo '<a href="list.php?subject='.$row['subject'].'&lvl='.$row['level'].'&school='.$row['school'].'">'.$row['subject'].'</a><br>'; }
//nyy
}
if($subject=="" && $level!="" && $school==""){
/* Get Subject based on level */
$nynq = mysql_query("SELECT * FROM noteshare_notes WHERE level='$level' GROUP BY subject");
while($row=mysql_fetch_array($nyyq)){
echo '<a href="list.php?subject='.$row['subject'].'&lvl='.$row['level'].'">'.$row['subject'].'</a><br>'; }
//nyn
}
?>
道歉,因为它的意见和概率积累,哈哈。
它让我回国与
mysql_fetch_array(): supplied argument is not a valid MySQL result resource
错误,我不知道如何解决它,我试过很多,很多的事情来解决,没有什么工作。我认为这可能是由于多个AND或数据库中没有30行的事实
有人会知道如何解决这个问题吗?任何答案将是非常有用的:)
干杯!
哪种情况会引发错误?或者所有这些都会导致错误? – Chris 2012-02-19 12:18:08
把下面的代码放在你的'mysql_query',plz:'if(mysql_errno()){echo mysql_error(); }并发布它生成的输出。 – Sirko 2012-02-19 12:18:12
没有错误显示@Sirko :(整个页面死亡 – unicornication 2012-02-19 12:29:30