我试图从列卧室svo 中获取第一个字符,并在 PHP 中的此查询中获得完全有用的“无效语法”。我试过用 ' 等切换' ,但仍然得到同样的东西......我做错了什么?
$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
在 SQL 中的第一个字符索引为 1(而在大多数语言中它是 0 索引)所以问题是,您是要获取'bedroomssvo'
(始终是'b'
)的子字符串,还是要获取名为的列的子字符串bedroomssvo
?我怀疑是后者。该查询将是:
SELECT mlnum, substr(bedroomssvo,1,1) as bedroomssvo_first_char,totalfullbaths,
arealiving FROM naples_Single_Family
请注意我是如何去掉所有引号、刻度和.
's 的?那是因为您不需要转义任何内容,也不需要围绕列名进行任何有趣的业务。(除此之外:as bedroomssvo_first_char
是可选的,但它使您的输出更容易理解)。
另一方面,如果你想获取你可以在 PHP 中访问的变量的子字符串,那么你可以这样做:
"SELECT mlnum, '{$yourString[0]}',totalfullbaths, arealiving
FROM naples_Single_Family"
您使用的是反引号而不是引号,您不必转义 mysql 函数。这将起作用。
$query = mysql_query("SELECT mlnum, SUBSTR(bedroomssvo,1,1),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
采用
SUBSTR(column_name,1,x)
在哪里:
采用:
SUBSTR('text',1,x)
对于文本
参考:SUBSTR()