2017-01-17 19 views
1

SELECT * FROM 'users' WHERE 'username'= '$username'をphpMyAdminで使用しようとしましたが、空の行を返してからSELECT * FROMユーザーWHERE username like '%abdul'を返し、目的の結果を返します。SELECTは空の行を返します。

mysqli_fetch_array()ブール値はで与えられ、パラメータ1がmysqli_resultれることを想定しています私は

$row = mysqli_query($link,"SELECT * FROMユーザーWHERE username like \'%$username'\ ");

に私のコードを変更しかし、それは警告を示すことは、その後phpMyMdmin $sql = "SELECT * FROMユーザーWHERE username like \'%abdul\'";からPHPコードを作成しました/Applications/XAMPP/xamppfiles/htdocs/yd_mobi/register.php on line 22.

何か助けてください、Th anks!

+1

「ユーザ名」:連想配列は、このような関数を使用して取得するトン。バックスティックを使用する ' – mseifert

+0

一重引用符をエスケープしていますか? @mseifertは 'を見て、これを理解しました...'あなたの書式設定はちょっと不思議ですが、コードビットを修正できますか? http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks – chris85

+0

'"。%$ username" 'use this –

答えて

1

は、LIKEのように大文字にする必要がありますようにあなたのクエリが間違っている

$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); 
+0

何も返さず、そのユーザーが存在する場合は書き込みしようとしていますが、WARNINGメッセージを返しますが、ユーザーが存在する場合は更新するだけです。 – Abdulsadeeq

+0

これは機能します!しかし、最後のmysqli_close($リンク)ありがとうございます。 – Abdulsadeeq

+0

ops申し訳ありません私はそれを交換することを忘れました。 –

0

を使用してみてください。それ以外の問題は見えません。
あなたのクエリが間違っている場合、それは真偽であるFALSEを返しますが、それが成功すると、データベースの情報を返しますが、あなたがmysqli_fetch_array()を使用したように見えます。私は通常、次の使用

$query = "SELECT * FROM users WHERE username LIKE whateveryouwanthere"; 
$run = mysqli_query($connectionvariable,$query); 
$row = mysqli_fetch_array($run); 
$variable = $row['column name of the item u want to retrieve']; 
//for example 
$username = $row['username']; 

EDIT:
あなたは\ '%アブドゥル\' だけではなく、行う必要はありません '%アブドゥル'

あなたは mysqli_fetch_array()機能の2番目のパラメータを渡す必要が
+0

何も返さず、そのユーザーが存在する場合は書き込みを試みますが、警告メッセージを返しますが、ユーザーが存在する場合は更新するだけです。 – Abdulsadeeq

+0

私のために%$ username%を試してみてください。何が起こるか教えてください。 –

+0

これを行うには $ row = mysqli_query($ link、 "SELECT * FROM user username LIKE '%$ username%'"); –

0

あなたは数値配列を取得したい場合は、このような関数を使用する:あなたはワン場合

mysqli_fetch_array($row,MYSQLI_NUM); 

- あなたは、単一引用符を使用している

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

} 
0
mysqli_fetch_array($row,resulttype); 

resulttype can be one of the following values: 

MYSQLI_ASSOC 
MYSQLI_NUM 
MYSQLI_BOTH 
関連する問題