$sql = "UPDATE site_ayarlar
SET site_baslik = '$_POST[site_baslik]',
site_slogan = '$_POST[site_slogan]',
meta_desc = '$_POST[meta_desc]',
meta_key = '$_POST[meta_key]',
meta_auth = '$_POST[meta_auth]',
meta_copy = '$_POST[meta_copy]',
meta_robots = '$_POST[meta_robots]' ";
错误是:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
没关系,这个问题已经解决了。
答案 0 :(得分:13)
额外引用:
'$_POST['meta_auth]'
当然还有:
答案 1 :(得分:2)
试试这种方式,
$site_baslik = mysql_real_escape_string($_POST['site_baslik']);
$site_slogan = mysql_real_escape_string($_POST['site_slogan']);
$meta_desc = mysql_real_escape_string($_POST['meta_desc']);
$meta_key = mysql_real_escape_string($_POST['meta_key']);
$meta_auth = mysql_real_escape_string($_POST['meta_auth']);
$meta_copy = mysql_real_escape_string($_POST['meta_copy']);
$meta_robots = mysql_real_escape_string($_POST['meta_robots']);
$sql = "UPDATE site_ayarlar
SET site_baslik = '$site_baslik' ,
site_slogan = '$site_slogan',
meta_desc = '$meta_desc',
meta_key = '$meta_key',
meta_auth = '$meta_auth',
meta_copy = '$meta_copy',
meta_robots = '$meta_robots'
WHERE some_condition
";
如果你没有把某些条件放在哪里,你将使用相同的数据集更新所有数据集
答案 2 :(得分:0)
$_POST[key_name]
必须为".$_POST['key_name']."
答案 3 :(得分:0)
$ sql =“UPDATE site_ayarlar SET site_baslik ='$ _ POST [site_baslik]',site_slogan ='$ _ POST [site_slogan]',meta_desc ='$ _POST [meta_desc]',meta_key ='$ _POST [meta_key]', meta_auth ='$ _POST [meta_auth]',meta_copy ='$ _POST [meta_copy]',meta_robots ='$ _POST [meta_robots]'“;
答案 4 :(得分:0)
如果您在双引号字符串中使用数组变量,则需要将它们括在{}中,如{$ _POST ['meta']}。
但正如Jensgram指出的那样,这种方法极易受到注射。
答案 5 :(得分:0)
只是一个想法。我从不使用单引号括起来的$ _POST。