警告:mysql_result()希望参数1是resource,布尔值在第6行的/home/roscapex/public_html/core/functions/users.php中给出
我正在尝试建立一个登录/注册系统,但不断出现错误: 警告:mysql_query()希望参数2是resource,第8行的/home/roscapex/public_html/core/functions/users.php中给出的整数 警告:mysql_result()至少需要两个参数,第一个参数在第8行的/home/roscapex/public_html/core/functions/users.php中给出 我的代码是:警告:mysql_result()希望参数1是resource,布尔值在第6行的/home/roscapex/public_html/core/functions/users.php中给出,php,mysql,database,Php,Mysql,Database,我正在尝试建立一个登录/注册系统,但不断出现错误: 警告:mysql_query()希望参数2是resource,第8行的/home/roscapex/public_html/core/functions/users.php中给出的整数 警告:mysql_result()至少需要两个参数,第一个参数在第8行的/home/roscapex/public_html/core/functions/users.php中给出 我的代码是: <?php function user_exists($us
<?php
function user_exists($username) {
$username = sanitize($username);
$query = mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username'");
return (mysql_result(mysql_query($query, 0) == 1) ? true : false);
}
?>
您的代码中有多个错误。让我解释一下:
<?php
function user_exists($username) {
$username = sanitize($username);
$query = mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username'"); // $query now contains the result of the query (a Resource)
// Here you try to run the resource *again* trough mysql_query, with with 2 parameters (which results in the warning). I am not quite sure what you intended.
return (mysql_result(mysql_query($query, 0) == 1) ? true : false);
}
?>
请查看右侧边栏“相关”部分中的任何问题。答案几乎总是一样的。不要在fetch或调用中嵌套mysql\u query()
。您必须检查是否成功或错误。基本上意味着您无法获取查询,因为它不返回任何行。在尝试使用mysql\u num\u rows
获取之前,请先进行检查,但是-我建议查看PDO,mysql\u*已被弃用。我知道这是重复的,我已尝试了所有其他方法,但没有一种对我有效mysql\u error
说什么?“未选择数据库”是它现在所说的…使用mysql\u select\u db()
在调用mysql\u query()
之前,它仍然表示未选择任何数据库
<?php
function user_exists($username) {
$username = sanitize($username); // This hopefully santizes the username. Better use mysql_real_escape_string($username)
$query = "SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username'";
$result = mysql_query($query) or die(mysql_error()); // Check if query was successful
$row = mysql_fetch_array($result); // fetch the first row
return ($row[0] > 1); // If there is one or more users with this name, return true.
}
// omit the closing ?>, because it causes trouble, when there are any chars behind it (headers alreay sent error etc.)