我想从列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