使用“$ query”而不是$ query

时间:2011-08-19 11:38:09

标签: php mysql

mysql_query($query)不起作用

mysql_error()显示查询为空

mysql_query("$query")有效

可能的原因是什么?

$query = "
SELECT 
    field1a, 
    field1b, 
    field1c
FROM 
( 
    {$obj1->p1->p2['sub']}.table1
) 
LEFT JOIN 
    {$obj1->p1->p2['sub']}.table2
    ON 
    (
        field2a = field1d 
    ) 
WHERE 
    field1e = '$variable' ";

这是我在传递给mysql_query

之前回显变量$ query时得到的结果
SELECT 
    field1a, 
    field1b, 
    field1c
FROM 
( 
    db.table1
) 
LEFT JOIN 
    db.table2
    ON 
    (
        field2a = field1d 
    ) 
WHERE 
    field1e = 'data' "; 

即使在执行函数调用

之后,变量$ query也保存相同的数据

我启用并检查了mysql日志,在第一种情况下我发现查询数据为空,并且...

当我使用mysql_query(“$ query)

时,查询数据出现在第二种情况中

1 个答案:

答案 0 :(得分:3)

可能你的$ query是一个空变量。

所以当你:

mysql_query($query)

你基本上是在做mysql_query();并给出错误。

当你做

mysql_error();

它甚至说它是空的,因为它是一个空的变种。

当你这样做时:

mysql_query("$query");

你只需要给函数一个空字符串,是的,因为它是正确的语法。