Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
警告:mysql_result()希望参数1是resource,布尔值在第6行的/home/roscapex/public_html/core/functions/users.php中给出_Php_Mysql_Database - Fatal编程技术网

警告:mysql_result()希望参数1是resource,布尔值在第6行的/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

我正在尝试建立一个登录/注册系统,但不断出现错误: 警告: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($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.)