2014-01-11 69 views
0

我得到錯誤*您的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,在嘗試更新和發送電子郵件時,在第1行*附近的'[0]'附近使用正確的語法。陣列語法錯誤PHP

$updatelist = explode(",",$Limited); 
print_r($updatelist); // echos Array ([0] => [email protected] [1] => [email protected] [2] =>) 

$totalupdates = count($updatelist)-1; 
for ($y = 0; $y < $totalupdates; $y++) 
{ 
    $updatemail = "UPDATE tblusers SET date= '$date' WHERE Email = 'updatelist[$y]'"; 
    $updatefree = mysql_query($updatemail); 

    echo $updatemail; 

} 

$ updatelist [$ y]有什麼問題?它應該通過$ updatelist [0]循環到$ updatelist [1]嗎?的updatelist[$y]

回答

1

+0

哦謝謝!我一直盯着那一刻,但我還沒有意識到我錯過了「$」的標誌。 – Sarah

+0

沒問題!如果你不小心的話,那些人肯定會偷偷靠近你。 – DopeGhoti

3

變化$updatelist[$y]而是我認爲這個問題是在這裏:

$updatemail = "UPDATE tblusers SET date= '$date' WHERE Email = 'updatelist[$y]'"; 

試試這個:

$updatemail = "UPDATE tblusers SET date = '$date' WHERE Email = '$updatelist[$y]'"; 
-1

嘗試:

$updatemail = "UPDATE tblusers SET date= '".$date."' WHERE Email = '".$updatelist[$y]."'"; 
+0

我一開始以爲是這樣,但後來才意識到PHP中雙引號字符串中的單引號不是特殊字符。然後我看到缺少'$'。 (: – DopeGhoti

0

試試這個代碼:

$updatelist = explode(",",$Limited); 
print_r($updatelist); // echos Array ([0] => [email protected] [1] => [email protected] [2] =>) 
$totalupdates = count($updatelist)-1; 
foreach ($updateList as $key=>$val) 
{ 
    $updatemail = "UPDATE tblusers SET date= '$date' WHERE Email = '".$val."'"; 
    $updatefree = mysql_query($updatemail); 
} 
echo $updatemail; 
+0

嘗試使用foreach循環,會給你單個值 – Nilesh