SELECT返回空行,尽管它存在

时间:2017-01-17 05:52:03

标签: php mysql phpmyadmin

我尝试在phpMyAdmin上使用SELECT * FROM 'users' WHERE 'username'= '$username'但返回空行,然后找出这个SELECT * FROM用户WHERE username like '%abdul'并返回所需的结果。我从phpMyMdmin $sql = "SELECT * FROM用户WHERE username like \'%abdul\'";创建了一个PHP代码,然后将我的代码更改为

$row = mysqli_query($link,"SELECT * FROM {用户{1}}

但它显示警告:

  

mysqli_fetch_array()要求参数1为mysqli_result,在第22行的/Applications/XAMPP/xamppfiles/htdocs/yd_mobi/register.php中给出布尔值。

欢迎任何帮助,谢谢!

4 个答案:

答案 0 :(得分:1)

尝试使用

$sql="SELECT * FROM users WHERE username like '%". $username."'";

if ($result=mysqli_query($link,$sql))
{
// Return the number of rows in result set
 $rowcount=mysqli_num_rows($result);
 if($rowcount > 0 ){
 echo "User Exist"
 }else{
 echo "new user";
 }
 // Free result set
 mysqli_free_result($result);
 }

 mysqli_close($link);

答案 1 :(得分:0)

您的查询错误,应像LIKE一样大写。除此之外我没有看到问题。
当你的查询错误时,它返回FALSE这是一个布尔值,但是当它成功时它返回数据库中的信息,但我不确定你是否这样,但看起来你使用了mysqli_fetch_array();我通常使用以下内容

//div[@class='x-combo-list-item']/div[1]

编辑:
你不需要\'%abdul \'而只是做'%abdul'

答案 2 :(得分:0)

您需要在mysqli_fetch_array()函数

中传递第二个参数

如果你想得到一个数字数组,那么使用这样的函数:

mysqli_fetch_array($row,MYSQLI_NUM);

如果你想获得关联数组,那么使用这样的函数:

while ($aRow = mysqli_fetch_array($row,MYSQLI_ASSOC)) {

}

答案 3 :(得分:0)

mysqli_fetch_array($row,resulttype);

resulttype can be one of the following values:

MYSQLI_ASSOC
MYSQLI_NUM
MYSQLI_BOTH