【问题标题】:phpmyadmin query error in php part2 [duplicate]php part2中的phpmyadmin查询错误[重复]
【发布时间】:2011-03-06 09:16:55
【问题描述】:

可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

它说我的语法有错误,我似乎找不到错误。

$query_admin = "SELECT * FROM `user_accounts` WHERE `id` =1 AND `name` LIKE {$login_user_name}AND `password` LIKE {$login_password }";

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
        echo $query_result;
    }

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Database Manager\admin\sql_functions.php on line 32

【问题讨论】:

  • 您在此处缺少空格:{$login_user_name}AND 请始终输出最终生成的查询并插入实际值 - 它们使大多数错误非常明显。也可以使用echo mysql_error()查看SQL错误
  • 您是否使用 mysql_query() 函数执行查询?
  • 是的,我正在使用 mysql_query() 函数执行查询。

标签: php mysql sql phpmyadmin


【解决方案1】:

@Pekka 是正确的,您的查询中有错误:您需要一个空格。

此外,您在mysql_fetch_array() 中使用$result,但实际上从未设置过。可以是你省略了它,它只是false,因为当然查询错误,但否则这是第二个错误:)

您的代码示例有点不完整。在您提到的 cmets 中,您实际上是在使用 mysql_query() 进行查询。但是代码中没有显示出来。

你将结果保存在什么变量中?您是否将其保存在 $result 中(当您将其用于 mysql_fetch_array 时)如果是,那么您的 $query_result 是什么?

试试这个:

$query_admin = "SELECT * FROM `user_accounts` WHERE `id` =1 AND `name` LIKE {$login_user_name} AND `password` LIKE {$login_password }";

$result = mysql_query($query_admin);

if (!$result) {
    die('Invalid query: ' . mysql_error());
}

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    var_dump($row);
}

然后从那里开始工作。

【讨论】:

  • 我想要做的是将 sql 查询结果与 var 结果进行比较,在将 sql 查询结果 var 与我的其他 var 进行比较之前,我是否需要格式化两者?
  • 我不太明白这个问题,但也许这个编辑有帮助?
  • 好吧,试着调试一下。例如,我为您添加了一些调试代码,在出现问题时会回显 SQL 错误。这将告诉您您的 sql 可能有什么问题。 (见@Pekka 的第一条评论)
  • 您是否在 php my admnin 中测试此查询?
  • 尝试新代码,并查看“die”报告的错误。
猜你喜欢
  • 2018-03-02
  • 2017-02-02
  • 2016-09-29
  • 2016-04-02
  • 2014-05-04
  • 1970-01-01
  • 1970-01-01
  • 2014-10-31
  • 2019-03-28
相关资源
最近更新 更多