【问题标题】:Error:Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in [duplicate]错误:警告:mysql_fetch_assoc() 期望参数 1 是资源,在 [重复] 中给出布尔值
【发布时间】:2014-01-02 08:46:51
【问题描述】:

我的程序出现以下错误

警告:mysql_fetch_assoc() 期望参数 1 是资源,布尔值在第 5 行的 C:\Users\joshi\Documents\EasyPHP-12.1\www\a.php 中给出

代码如下:

$con = mysqli_connect("localhost","root","","search");
$str = "Akshat";
$result = mysqli_query($con,"SELECT * from index WHERE name LIKE '%$str%'");
while($row = mysql_fetch_assoc($result))
{
  echo "Name: " . $row["name"];
  echo "<br>Desc: " . $row["desc"];
}

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    index是保留字http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

    需要用反引号包裹

    即:`index`

    $result = mysqli_query($con,"SELECT * from `index` WHERE name LIKE '%$str%'");
                                               ^     ^
    

    另外,您正在将 mysql_mysqli_ 函数混合使用。

    您应该在查询 mysqli_query 时使用 mysqli_fetch_assoc() 而不是 mysql_fetch_assoc()

    在与 MySQL 函数保持一致的同时,它是一种或另一种;不是两者兼而有之。

    重写:

    <?php
    $con = mysqli_connect("localhost","root","","search");
    $str = "Akshat";
    $result = mysqli_query($con,"SELECT * from `index` WHERE name LIKE '%$str%'");
    while($row = mysqli_fetch_assoc($result))
    {
    echo "Name: " . $row["name"];
    echo "<br>Desc: " . $row["desc"];
    }
    

    【讨论】:

    • downvoter,请解释一下 - 我相信这是一个有效的答案。
    • 这(你的链接)与使用SELECT * FROM index的OP有什么关系? @Zarazthuztra index 是保留字,应该用反引号括起来,这在 OP 的代码中显然没有显示。
    • @Fred-ii- 这实际上是一个很好的问题。我不知道为什么会在那里。我发的时候是有原因的,但是那个原因已经消失了,我不记得了。我会为你删除它。如有任何混淆,请见谅!
    • 没问题 ;-) @Zarazthuztra
    【解决方案2】:

    试试

    mysqli_fetch_assoc()
    

    而不是

    mysql_fetch_assoc()
    

    参考:http://www.php.net/manual/en/mysqli-result.fetch-assoc.php

    【讨论】:

    • 为什么要对 Mr.Downvoter 投反对票?
    • 因为这是此问题的第 n 个重复项,并且您有足够的代表和经验投票结束,而不是宣传研究不佳的帖子...
    • 因为我审阅了错误的编辑:stackoverflow.com/review/suggested-edits/3582813,感谢理解。
    • 老实说,如果答案是骗子,我不认为答案不应该被否决。我认为正确的回答应该是回答这个问题,并指出它已经回答了。但这只是 MHO :)
    猜你喜欢
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多