PHP / MySQL - mysql_result()期望参数1是资源,布尔值在

时间:2013-11-01 23:06:38

标签: php mysql boolean xampp

我最近一直在关注制作登录和注册系统的一些教程。我一直非常密切地关注导师,我们有完全相同的代码,虽然我得到一个“警告:mysql_result()期望参数1是资源,在C:\ xampp \ htdocs \ idea \ core中给出布尔值\ functions \ users.php在第5行“每次都是。

第5行引用return (mysql_result($query, 0) == 1) ? true : false;,它是MySQL查询的return语句。这阻止了我的进步,我已经走到了这一步,所以选择一个不同的教程并不是一个真正的选择。

很抱歉,我认为我应该添加实际查询:$query = mysql_query("SELECT COUNT(user_id) FROM users WHERE username = '$username'");之前有关于user_id,用户和用户名的反复信息,但我无法添加。

2 个答案:

答案 0 :(得分:2)

正如the php manual on mysql_query告诉你的那样:

  

对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他返回结果集的语句,mysql_query()会在成功时返回资源,或者在出错时返回FALSE。

     

对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP等,mysql_query()成功时返回TRUE,错误时返回FALSE。

因此,您的查询很可能无效,mysql_query会返回false。

首先检查(if ($query === false) {echo mysql_error();}),但只有在查询运行正常时才会继续。

答案 1 :(得分:1)

首先,请使用mysqli,而不是mysql。后者是折旧的

其次,mysqli_query的{​​{3}}是先传递连接指针,然后传递查询。所以你需要先致电syntax

$link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
$result = mysqli_query($link, 'SELECT * FROM table');