2013-03-06 45 views
0

我想不通爲什麼,但是當我運行該腳本,它只是顯示$row[0]列,而不是我提出的任何其他列。PHP/MySQL的選擇單一對象返回山坳名稱,而不是價值

$mlsnum = mysql_real_escape_string($_GET['mlsnum']); 

$link = mysql_connect('localhost','user','password'); 
mysql_select_db('singleprop', $link); 

$query = "SELECT 'MSTLISTPRC' FROM jos_mls WHERE MSTMLSNO = '".$mlsnum."';"; 

$return = mysql_query($query); 

$result = mysql_fetch_array($return); 

$price = $result['MSTLISTPRC']; 

echo $price; 

而不是回顯符合WHERE條件的列的值,它回顯列名稱。

回答

4

刪除單引號。它們表示一個文字字符串。

SELECT MSTLISTPRC ... 

A string is a sequence of bytes or characters, enclosed within either single quote (「 ' 」) or double quote (「 " 」) characters. Examples:

'a string'

"another string"

Documentation

您還需要爲了調用列名使用一個關聯數組:

$result = mysql_fetch_assoc($return); 

另外,請停止使用mysql_功能。他們不再維護and are officially deprecated。請參閱red box?請改爲了解prepared statements,並使用PDOMySQLi - this article將幫助您決定哪個。

+0

當我這樣做,我沒有得到它應該顯示的價值,我只得到'0'。我可以通過PHPmyAdmin驗證值應該是什麼,並且查詢的$ mlsnum值是正確的。 – Plummer 2013-03-06 21:07:54

+0

@tPlummer print_r($ result);你會明白爲什麼。 – 2013-03-06 21:09:27

+0

@tPlummer看我的更新。您需要使用關聯數組。 – Kermit 2013-03-06 21:09:47

1

除去周圍「MSTLISTPRC」引號=問題解決

0

對於選擇列你不使用引號。我們使用「`」字符

+2

沒有。如果列名是保留字,則只能使用反引號。否則他們只是額外的絨毛。 – 2013-03-06 21:06:39

+0

你的權利,但是當你確定你的列名被保留或者沒有保留時,總是使用反引號並沒有什麼壞處 – MIIB 2013-03-06 21:08:59

+0

@MIIB有些人不喜歡額外的絨毛 – Kermit 2013-03-06 21:16:51

0

change $ query =「SELECT'MSTLISTPRC'FROM jos_mls WHERE MSTMLSNO ='」。$ mlsnum。「';」; 到 $ query =「SELECT`MSTLISTPRC` FROM jos_mls WHERE MSTMLSNO ='」。$ mlsnum。「';」;

相關問題