2014-01-11 63 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