2013-02-07 105 views
-3

我遇到问题mysql_fetch_array。我得到一个警告:mysql_fetch_array发出警告

mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\wamp\www\bb.php on line 6 bool(false) 

这里是我的代码:

if (isset($_POST['chapter'])AND isset($_POST['verse'])){ 
    $db=mysql_connect("localhost","fruanthony","admin"); 
    mysql_select_db("gths",$db); 
    $results=mysql_query("SELECT * FROM bible where verse=".$_POST['verse']."AND   chapter=".$_POST['chapter']); 
    while($a=mysql_fetch_array($results)){  
    echo $a['info'] ; 
    echo "<br>"; 
    } 
} 
+1

这是什么都与Java呢?它看起来像MySQL和PHP ... – BenM

+1

顺便说一句,在你的代码几乎一切都是不好的做法,从圣经包括取材。 – moonwave99

回答

0
$results=mysql_query("SELECT * FROM bible where verse='".$_POST['verse']."' AND   chapter='".$_POST['chapter']."'"); 

您在查询失踪单引号值'".$_POST['chapter']."'"注意事务所报价

0

更换

$results=mysql_query("SELECT * FROM bible where verse=".$_POST['verse']."AND chapter=".$_POST['chapter']);

TO

$results=mysql_query("SELECT * FROM bible where verse = '".$_POST['verse']."' AND chapter = '".$_POST['chapter']."'"); 
+0

我已经这样做了,但查询不返回任何东西 –

+0

如果你做得很好。 –

0

现在试试:)

if (isset($_POST['chapter']) AND isset($_POST['verse'])) { 

// Dont ignore SQL injection 
    $safeChapter = mysql_real_escape_string($_POST['chapter']); 
    $safeVerse = mysql_real_escape_string($_POST['verse']); 


    $db=mysql_connect("localhost","fruanthony","admin"); 
    mysql_select_db("gths",$db); 
    $results=mysql_query("SELECT * FROM bible where verse='".$safeVerse."' AND chapter='".$safeChapter."';"); 
    while($a=mysql_fetch_array($results)) 
    {  
     echo $a['info'] ; 
     echo "<br>"; 
    } 
}