2011-04-15 158 views
2

每當我嘗試執行程序時,都會收到解析器錯誤。我收到解析器錯誤消息

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.%'"; 

$網址是一個字符串,我想從數據庫中檢索它把它分配給$ select_url。

+0

'$ url'的值是多少?你可以張貼這條線上下的線嗎? – 2011-04-15 18:36:28

回答

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 . ".%'";
+0

我收到一個新的「意外的T_string」錯誤 – vincy 2011-04-15 18:47:16

+0

@vincy:看看@Marc B的答案。這個錯誤表明他是對的。我讓你發佈更多的代碼,但你沒有。這會幫助你更容易。 – 2011-04-15 19:06:12

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']; 

編輯:你可能想逃避$網址以及 mysql_real_escape_string($網址)的arent甚至需要

0

點,你可以用類似的東西結束:

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

然後讓你的mysql_query以該字符串。

+0

我收到「意外的T_string」的新錯誤 – vincy 2011-04-15 18:45:31

+0

您可以添加字符串的Sample值嗎? – 2011-04-15 18:53:57

3

您發佈的行在語法上是正確的。真正的錯誤是,在該行之前的某個地方,你有一個字符串,沒有終止'

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

所以你結束了

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

%是求餘運算,這通常會被罰款,但後來它的後面是。這是無效的。

"string modulo concatenate" 

和其他人所說,你的字符串在內部是不正確的。您正在使用雙引號字符串,因此不需要在字符串中嘗試串聯。

相關問題