2014-01-06 85 views
0

我處理PHP是一個新手:匹配,並與數據庫中列訪問字符串在PHP

我有一個字符串像$string=admin我想查一下我的名爲「用戶名」包括數據庫列值如:guest, admin, abc, def, ...。然後,如果在該列中找到該字符串,則希望顯示一條消息。 我在做這樣的事情:

$query=mysql_query("SELECT * FROM 'table_name' where 'username' like '$string'",$link); 
//where $link is connection to my database 
$row = mysql_fetch_row($query); 
echo $row; 

我正在使用上面的代碼時出現以下錯誤信息:

警告:和mysql_fetch_row()預計參數1是資源,布爾在C中給出: \ XAMPP \ htdocs中\ ABC \上線def.php 22

我還想到做這樣的事情:

$query = mysql_query("SELECT username FROM table_name",$link); 
if ($query){ 
    while ($data=mysql_fetch_array($query)){ 
     echo $data['username']; 
    } 
} 

很多感謝的指導!

+1

周圍刪除引號'FROM「table_name''與反引號替換和'那裏做同樣的」 username'' ---你'喜歡「$ string''可以使用''%還跡象。 –

+0

感謝弗雷德的快速回復,但在遵循你的建議後,仍然得到相同的錯誤消息! – adi

+0

你最有可能要使用'其中username ='$僅string'',而不等。 –

回答

0

的問題已經通過此查詢其搜索中所需的數據庫列&打印匹配值的字符串解決!謝謝大家!

$result=mysql_query("SELECT * FROM table_name where username ='".$muser."'", $link); 
if($result === FALSE) { 
    die(mysql_error()); 
} 
while($row = mysql_fetch_array($result)) 
{ 
    echo $row['username']; 
} 

其中'用戶名'是列名。

0

這將工作肯定:

$squery="SELECT username FROM tablename WHERE username='$string'"; 
$sresult=mysql_query($squery); 
$qry=mysql_fetch_assoc($sresult); 
echo $qry['username']; //in case if u want to print the result. 
+0

下次發佈答案時,請張貼格式正確的代碼。我不得不編輯你的答案。 –

+0

我不允許在8小時之前對代碼進行正確的評論,所以我在這個格式的評論下面評論它! – adi

+0

使用這些代碼行後,我得到這個警告: >警告:mysql_fetch_assoc()期望參數1是資源,布爾在23行file_location給出 – adi

0

%的PHP參考:http://us2.php.net/mysql_query此功能可以返回可能根本就是假的。檢查並查看您的$query變量是否返回false,您可能沒有該表的權限或正在調用一些有趣的內容。