2009-08-29 103 views

回答

2

向一个PostgreSQL的查询,您必须使用“

当你在PHP中生成一个查询,你可以使用“或”

"select * from table where id = 'me'" 

'select * from table where id = \'me\'' 
+0

**哪一个是正确的?**#1'id = $ 1'或#2'id ='$ 1'' – 2009-08-29 12:12:12

+0

@Masi:#1是正确的 - 不要将查询参数放在引号中。 – 2009-08-29 14:50:58

+0

@Luc M:您可以在PostgreSQL查询中使用“,但它适用于分隔标识符,而不是字符串文字。 – 2009-08-29 14:54:31

4

Postgres中的字符串文字是用单引号定义的。双引号用在标识符周围。所以下面的查询是有效的。

SELECT "id", "name" FROM my_table WHERE "name" = 'Brian' 

然而,你联系,你问单引号'VS双引号“在PHP中的字符串,而不是Postgres的查询答案判断。

同为普通字符串,一双引号括起来将插值变量,而在单引号的字符串将有你把什么英寸

$my_var = "noob"; 

echo "This is a test string, $my_var\nGot it?"; 
>> This is a test string, noob 
>> Got it? 

echo 'This is a test string, $my_var\nGot it?'; 
>> This is a test string, $my_var\nGot it? 
+0

我不知道你的例子是否适用于PHP PG查询,因为它们是在不同的环境是不在查询中。你的答案也与维塔利的答案相冲突。 – 2009-08-29 12:08:18