我收到一个解析器错误消息

时间:2011-04-15 18:30:51

标签: php parsing

每当我尝试执行程序时,我都会收到解析器错误。

Parse error: parse error, unexpected '.' in /var/www/html/spywgc/adm/ctshell/getproduct/getproduct.php on line 9

这是代码

$select_url= " select product_id from sp_url where url like '%.$url.%'";

$ url是一个字符串,我想从数据库中检索它以将其分配给$ select_url。

4 个答案:

答案 0 :(得分:3)

您发布的行在语法上是正确的。真正的错误是在该行之前的某个地方,您有一个未终止的'字符串。

$somevar = 'blah blah    <--missing ' here
... blah blah blah ...
$select_url = "...... '%   <---string closes here

所以你最终得到了

$somevar = 'big long string select product_id .... ' % .

%是模运算符,通常很好,但接着是a。这是无效的。

"string modulo concatenate"

正如其他人所说,你的字符串内部不正确。您使用的是双引号字符串,因此不需要在字符串中尝试连接。

答案 1 :(得分:1)

我不确定你是否打算在那里留点,但你可以做以下任何一点:

  • $select_url= "select product_id from sp_url where url like '%.{$url}.%'";
  • $select_url= "select product_id from sp_url where url like '%." . $url . ".%'";

答案 2 :(得分:0)

根据你上面提到的内容,我假设你想做这样的事情

   /* Assuming you have a database connection already */
    $result = mysql_query("SELECT product_id FROM sp_url WHERE url LIKE '%".$url."%'";
    $row = mysql_fetch_assoc($result);
    $select_url = $row['product_id'];

编辑:您可能也想要转义$ url mysql_real_escape_string($ URL)

答案 3 :(得分:0)

甚至不需要点,你可以用这样的东西结束:

$select_url= "SELECT product_id FROM sp_url WHERE url LIKE '%$url%'";

然后使用此字符串创建mysql_query。