我想從列bedroomssvo獲得第一個字符,並且在PHP中的這個查詢中獲得完全有用的「無效語法」。我試過用'等'來切換,仍然得到同樣的東西......我做錯了什麼?在php中使用substr mysql的查詢語法
$query = @mysql_query("SELECT mlnum, , `.substr('bedroomssvo',0,1).`,totalfullbaths, arealiving FROM naples_Single_Family);
我想從列bedroomssvo獲得第一個字符,並且在PHP中的這個查詢中獲得完全有用的「無效語法」。我試過用'等'來切換,仍然得到同樣的東西......我做錯了什麼?在php中使用substr mysql的查詢語法
$query = @mysql_query("SELECT mlnum, , `.substr('bedroomssvo',0,1).`,totalfullbaths, arealiving FROM naples_Single_Family);
所以,我看到一對夫婦的問題在這裏:
SELECT mlnum, , `.substr('bedroomssvo',0,1).`,totalfullbaths, arealiving
FROM naples_Single_Family
.substr('bedroomssvo',0,1).
的意思是「列.substr('bedroomssvo',0,1).
」,我不認爲你想這樣。substr
和substring
必須在1 SQL(而在大多數語言是0索引)的第一個字符指數所以現在的問題是,你試圖讓'bedroomssvo'
子串(這將永遠是'b'
)或者你想獲得名爲bedroomssvo
的列的子字符串?我懷疑後者是這種情況。該查詢將是:
SELECT mlnum, substr(bedroomssvo,1,1) as bedroomssvo_first_char,totalfullbaths,
arealiving FROM naples_Single_Family
注意我是怎麼擺脫所有的報價中,蜱,並.
的?那是因爲你不需要轉義任何東西,而且你不需要任何圍繞列名的有趣商業。 (另外:as bedroomssvo_first_char
是可選的,但它使您的輸出更容易理解)。
在另一方面,如果你想獲得一個變量的子串,你必須在PHP訪問,那麼你可以這樣做:
"SELECT mlnum, '{$yourString[0]}',totalfullbaths, arealiving
FROM naples_Single_Family"
請不要這樣做(@...
)。你正在壓制可能有效的錯誤。
您還需要停止使用mysql_
函數。他們不再維護and are officially deprecated。請參閱red box?請改爲了解prepared statements,並使用PDO或MySQLi - this article將幫助您決定哪個。
你想用SUBSTR
像這樣(位置1 1
,不0
):
SELECT mlnum,
Substr(bedroomssvo, 1, 1) AS bedroomssvo,
totalfullbaths,
arealiving
FROM naples_single_family
試試這個
SELECT mlnum , substr('bedroomssvo',0,1) ,totalfullbaths, arealiving FROM naples_Single_Family
如果bedroomssvo
是一列,然後用它像那樣
SELECT mlnum , substr(bedroomssvo,1,1) ,totalfullbaths, arealiving FROM naples_Single_Family
是本'bedroomssvo'列? – 2013-02-22 19:44:55
您正在使用反引號,而不是報價,你沒有逃避一個mysql函數。這將工作。
$query = mysql_query("SELECT mlnum, SUBSTR(bedroomssvo,1,1),totalfullbaths, arealiving FROM naples_Single_Family);
使用
SUBSTR(column_name,1,x)
其中:
使用:
SUBSTR('text',1,x)
對於文本
REF:SUBSTR()
'pos'開始於1,'substr'不是0。 – Kermit 2013-02-22 19:50:50
對不起。我在看到你的評論之前就已經明白了。 – cwallenpoole 2013-02-22 19:56:28
非常好的幫助,非常感謝! – 2013-02-22 20:04:22