解析错误:语法错误,意外T_VARIABLE - 分号
我的IDE期待分号,但我不知道在哪里! 正是这条线是突出:解析错误:语法错误,意外T_VARIABLE - 分号
,'$other_writ' WHERE id="$_SESSION[user_id]")
这是上面的代码:
if (!empty($_POST['doLanguage']) && $_POST['doLanguage'] == 'Submit')
{
session_start();
foreach($_POST as $key => $value)
$id = "$_SESSION[user_id]";
if(empty($err)) {
for($i = 0; $i < count($_POST["other"]); $i++);
{
$native = mysql_real_escape_string($_POST['native'][$i]);
$other = mysql_real_escape_string($_POST['other'][$i]);
$other_list = mysql_real_escape_string($_POST['other_list'][$i]);
$other_read = mysql_real_escape_string($_POST['other_read'][$i]);
$other_spokint = mysql_real_escape_string($_POST['other_spokint'][$i]);
$other_spokprod = mysql_real_escape_string($_POST['other_spokprod'][$i]);
$other_writ = mysql_real_escape_string($_POST['other_writ'][$i]);
$sql_insert = "INSERT into `language`
(`native`,`other`,`other_list`,`other_read`, `other_spokint`
,`other_spokprod`,`other_writ` )
VALUES
('$native','$other','$other_list','$other_read','$other_spokint','$other_spokprod'
,'$other_writ' WHERE id="$_SESSION[user_id]")";
mysql_query($sql_insert,$link) or die("Insertion Failed:" . mysql_error());
}
感谢您的帮助!
你打开这里的字符串:
"INSERT into `language` ...
而且它在这里被关闭:
... WHERE id="
PHP在此之后期待分号。你可以通过用单引号(这是SQL标准)替换双引号来修复它,但是:为什么你使用WHERE
子句和INSERT
无论如何?你不需要那个。
刚刚完成你的字符串是这样的:
... ,'$other_writ')";
我正在使用用户登录系统,因此此页面与他们的“我的帐户”页面链接,因此需要该会话适合此用户。 – user1257518 2012-03-27 21:43:51
所以你应该在运行查询之前用PHP检查用户。你的'WHERE'完全没有(甚至可能会破坏查询)。 – bfavaretto 2012-03-27 21:52:21
对不起,最好的方法是怎么做的?我是一个新手! – user1257518 2012-03-27 21:57:21
,'$other_writ' WHERE id=" . $_SESSION[user_id] . ")
所以,你错过了一个连接符.
您需要更改
,'$other_writ' WHERE id="$_SESSION[user_id]")";
到
,'$other_writ' WHERE id=" . $_SESSION[user_id] . ")";
我已经看到了这个错误
" WHERE id="$_SESSION[user_id]")";
,你应该用这样的方式
" WHERE id=."$_SESSION[user_id].")";
也已经打开两个花括号但收盘之一。
敢肯定你需要一个连接符的位置:
WHERE id=" . $_SESSION[user_id] . ")";
或者这样:
WHERE id={$_SESSION[user_id]})";
你$ sql_insert字符串应该是这样的。在WHERE之前注意。
$sql_insert = "INSERT into `language`
(`native`,`other`,`other_list`,`other_read`, `other_spokint`
,`other_spokprod`,`other_writ` )
VALUES
('$native','$other','$other_list','$other_read','$other_spokint','$other_spokprod','$other_writ') WHERE id = '{$_SESSION[user_id]}'";
两件事;
$ _SESSION [USER_ID]在一个字符串,它是完整与
"
报价的中间引述"
。无论如何,破损的WHERE
部分,在INSERT
中有点错位,可以完全删除。-
你的for循环没有太多的工作;
for($i = 0; $i < count($_POST["other"]); $i++);
在端部分号使得它的空循环。删除它,事情应该更好地工作。
我想你在定义for循环的行上有一个额外的分号:'for($ i = 0; $ i
clexmond
2012-03-27 21:31:45