mysql_close()期望参数1是资源,给定字符串

时间:2014-05-20 10:05:16

标签: php mysql ajax json

这是我的代码,它是使用json和ajax从mysql中检索信息,但不管怎么说它不起作用,任何人都可以帮忙解决这个问题?

<?php
    $host="localhost"; 
    $username="Practical4"; 
    $password="1234"; 
    $db_name="Practical4"; 

    $con=mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
    mysql_select_db("$db_name")or die("cannot select DB");

    $sql = "select * from comment where name='$name'"; 
    $result = mysql_query($sql);
    $json = array();

    if(mysql_num_rows($result)){
        while($row=mysql_fetch_row($result)){
            $json['comment'][]=$row;
        }
    }
    mysql_close($db_name);
    echo json_encode($json); 
?>

此外,我如何逐行显示每条记录?

4 个答案:

答案 0 :(得分:5)

而不是

mysql_close($db_name);

使用

mysql_close($con);

答案 1 :(得分:1)

see here

您需要关闭连接而不是数据库名称mysql_close($con);

检查代码以进行调试是一种很好的做法。

答案 2 :(得分:1)

您需要在mysql_close()

中提供link_identifier

试试这个:

mysql_close($con);

mysql_*已弃用mysqli_*PDO

你也不需要php变量中的引号。

替换

$con=mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

由:

$con=mysql_connect($host, $username, $password)or die("cannot connect"); 
mysql_select_db($db_name)or die("cannot select DB");

答案 3 :(得分:1)

使用此mysql_close($con);代替mysql_close($db_name);

从PHP v5.5.0开始,

mysql_ *是deprecated,将来会被删除。

使用mysqli_*功能或pdo

阅读Oracle Converting to MySQLi