PHP错误"未定义的变量:mysql_fetch_assoc"

时间:2016-01-14 10:37:33

标签: php html mysql database

当我尝试运行此代码时,我收到了上述错误,我尝试了多个解决方案,使用fetch_array:     

$conn = mysql_connect('localhost', '-----', '-----','-----') 
or die('Error connecting to mysql');
$sql = "SELECT * FROM Subject";
$result = mysql_query($sql);
$row=null;
echo "<table>";
while( $row = $mysql_fetch_assoc[$result]){

echo "<tr><td>";
echo $data['SubjectNo'];
echo "</td><td>";
echo $data['SubjectName'];
echo"</td></tr>";
} 
echo "</table";
echo"urnan";

?>

2 个答案:

答案 0 :(得分:5)

中有错误
while( $row = $mysql_fetch_assoc[$result]){

mysql_fetch_assoc是PHP函数,而不是变量。因此,无需在其前面加上$符号。

所以应该阅读

while( $row = mysql_fetch_assoc($result)){

答案 1 :(得分:1)

  

错误是明确的未定义变量意味着您正在使用变量   未在代码中的任何位置定义。

您的代码中存在什么问题?

您正在使用$mysql_fetch_assoc作为代码中未定义的变量。

更重要的是,$mysql_fetch_assocmysql_fetch_assoc不等于我在评论中提到的其他配偶。

修改后的代码:

这应该用作:

while( $row = mysql_fetch_assoc($result)){
  // your stuff
}

代码中的第二个问题是这些括号 [] 它应该是()

旁注:

我建议您使用mysqli_*PDO而不是mysql_*扩展名,因为它已被弃用, PHP 7中不可用。

PHP手册中的参考资料:

PHP Data Objects (PDO)

MYSQL Improve Extension (mysqli_*)