-1

可能重复:
警告:mysql_fetch_* 期望参数 1 是资源,布尔给定错误

我希望有人可以帮助我,我有一个错误

警告:mysql_fetch_assoc() 期望参数 1 是资源,布尔值在第 17 行的 C:\xampp\htdocs\phpacd\func\user.func.php 中给出

它所指的线是$query_reult = mysql_fetch_assoc($query)。代码来自教程,我一遍又一遍地阅读教程,我无法发现问题!如果有人能指出我正确的方向,我会喜欢吗?

function login_check($email, $password) {
  $email = mysql_real_escape_string($email);
  $login_query = mysql_query("SELECT COUNT(`user_id`) as `count`, `user_id` FROM `users` WHERE `email`='$email' AND `password`='".md5($password)." '");
  return (mysql_result($login_query, 0) == 1) ? mysql_result($login_query, 0, 'user_id') : false;
}

function user_data() {
      $args = func_get_args();
      $fields = '`'.implode('`, `' , $args).'`';

  $query = mysql_query("SELECT $fields FROM `users` WHERE `user_id` =".$_SESSION['user_id']);
  $query_result = mysql_fetch_assoc($query);
  foreach ($args as $field){
    $args[$field] = $query_result[$field];
  }
  return $args;
}
4

1 回答 1

3

根据 PHP 手册,如果您遇到 SQL 语法错误,该mysql_query函数将返回FALSE,因此返回布尔类型。

http://php.net/manual/en/function.mysql-query.php

您可以使用此语句提取错误所在:

<?php
$query = mysql_query("SELECT $fields FROM `users` WHERE `user_id` =".$_SESSION['user_id']);
 if (!$query ) {
    die('Invalid query: ' . mysql_error());
}
于 2012-04-16T14:21:57.820 回答