繁体   English   中英

我收到解析器错误消息

[英]I am getting a parser error message

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

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。

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

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

所以你最后得到

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

%是取模运算符,通常可以,但是后面跟一个。 这是无效的。

"string modulo concatenate"

正如其他人所说,您的字符串在内部是错误的。 您正在使用双引号引起来的字符串,因此无需尝试在字符串内进行串联。

我不确定您是否要在其中插入点,但是您可以执行以下任一操作:

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

根据上面的介绍,我假设您想做这样的事情

   /* 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)

甚至不需要点,您可能会得到类似以下的结果:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM