Php 错误:警告:mysql\u fetch\u assoc()希望参数1是资源,布尔值在

Php 错误:警告:mysql\u fetch\u assoc()希望参数1是资源,布尔值在,php,mysql,Php,Mysql,我的程序中出现以下错误 警告: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 '%$st

我的程序中出现以下错误

警告: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"];
}
$con=mysqli_connect(“本地主机”、“根”、“搜索”);
$str=“阿克沙”;
$result=mysqli_query($con,“从名为“%$str%”的索引中选择*);
while($row=mysql\u fetch\u assoc($result))
{
echo“Name:”.$row[“Name”];
echo“
Desc:”.$row[“Desc”]; }
索引
是一个保留字

需要用背勾来包装

例如:
`index`

$result = mysqli_query($con,"SELECT * from `index` WHERE name LIKE '%$str%'");
                                           ^     ^
另外,您正在将
mysql\uuu
mysqli\uu
函数混合使用

您应该在查询时使用
mysqli\u fetch\u assoc()
而不是
mysql\u fetch\u 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"];
}
试试看

而不是

mysql_fetch_assoc()

参考:

downvoter,解释plz-我相信这是一个有效的答案。使用
SELECT*FROM index
,这(您的链接)与OP有什么关系@Zarazthuztra
index
是一个保留字,应该用反勾号包装,这在OP的代码中显然没有显示。@Fred ii-这实际上是一个很好的问题。我不知道为什么会这样。我发布它的时候有一个原因,但那个原因已经不存在了,我记不起来了。我会帮你取下来的。对不起,给您添了点麻烦!没问题;-)@ZarazthuztraWhy Downvote先生?因为这是这个问题的第n个副本,你有足够的代表性和经验来投票结束而不是推广糟糕的研究帖子……因为我审查了一个糟糕的编辑:,谢谢你的理解。老实说,我不认为一个答案如果是重复的话就不应该被否决。我认为正确的回答应该是回答这个问题,同时指出这个问题已经得到了回答。但那只是MHO:)
mysql_fetch_assoc()