【发布时间】:2012-02-21 17:05:59
【问题描述】:
我对 MySQL 和 PHP 比较陌生,我已经尝试 UPDATE 一个表很长时间了,我已经搜索了 Google 和 SO,但我仍然无法弄清楚。
这里是php:
$info = array('about_me' => NULL, 'profile_pic' => NULL, 'political_party' => NULL, 'econ_views' => NULL, 'religious_views' => NULL,
'abortion_view' =>NULL,'gay_marraige' => NULL, 'other' => NULL);
foreach ($_POST as $key => $value) {
$info[$key] = mysql_escape_string($value);
}
$about_me = $info['about_me'];
$profile_pic = $info['profile_pic'];
$econ_views = $info['econ_views'];
$religious_views = $info['religious_views'];
$abortion_view = $info['abortion_view'];
$gay_marraige = $info['gay_marraige'];
$other = $info['other'];
$political_party = $info['political_party'];
//Connect to database
require 'db.php';
$query = "UPDATE `users` SET `about_me`=$about_me, `profile_pic`=$profile_pic, `econ_views`=$econ_views,
`religious_views`=$religious_views,`abortion_view`=$abortion_view,`gay_marriage`=$gay_marraige,
`other`=$other, `political_party`=$political_party WHERE `username`=emoore24";
echo "$query"."<br /><br />";
$result = mysql_query($query) or die(mysql_error());
echo "success"
这是在具有许多文本区域和一个选择元素的表单上运行的。我用简单的字符串作为数据运行所有内容并得到了这个:
UPDATE
usersSETabout_me=test about,profile_pic=,econ_views=test econ,religious_views=test rel,abortion_view=test abortion,gay_marriage=test gay marraige, @ 987654329@=test other,political_party=democrat WHEREusername=emoore24您的 SQL 语法有错误;检查与您的 MySQL >server 版本相对应的手册,以在第 1 行的“
econ_views=test econ,>religious_views=test rel,abortion_view=test abor”附近使用正确的语法
我假设它很小,但我看不到它。有人可以帮忙吗?
【问题讨论】:
标签: php mysql syntax mysql-error-1064 sql-update