在php中连接字符串时,我在节省空间方面遇到了麻烦。它应该用作sql查询,因此空格很重要。
$sql_query = 'SELECT * FROM';
$sql_query .= 'table_id';
$sql_query .= 'WHERE user_id = 5';
我最终得到了
SELECT * FROMtable_idWHERE user_id = 5
请注意我将此作为示例而不是真正的查询,我只是想找到一种在连接时控制空格的一般方法。感谢
答案 0 :(得分:0)
$sql_query = 'SELECT * FROM ';
$sql_query .= 'table_id ';
$sql_query .= 'WHERE user_id = 5';
当你连接一个字符串时,它会被写成完全。这意味着,PHP NOT 为您添加空间 - 您必须自己动手。
答案 1 :(得分:0)
你必须在字符串的结尾或开头设置一个空格。例如:
$sql_query = 'SELECT * FROM ';
$sql_query .= ' table_id ';
$sql_query .= ' WHERE user_id = 5 ';
答案 2 :(得分:0)
您可以将空格字符包含在字符串中。
$sql_query = 'SELECT * FROM';
$sql_query .= ' table_id'; /* space is prefixed here */
$sql_query .= ' WHERE user_id = 5'; /* and here */
因此,在连接时它们会被保留。
最终的sql_query如下:
SELECT * FROM table_id WHERE user_id = 5
答案 3 :(得分:0)
一旦有可能,如果你想自动化,就是在SQL片段数组上使用带有空格的implode作为$glue
参数。例如:
$sql_fragments = array(
'SELECT * FROM',
'table_id',
'WHERE user_id = 5'
);
$sql_query = implode(' ', $sql_fragments);
这将比连接慢,但如果要动态构建查询,则可能很有用。
或者,请考虑使用HEREDOC (multi-line string)声明您的SQL。