我很亲密,但卡住了。我从drupal中提取用户名并将其存储在名为$ username的变量中,我想将其存储在名为username的列中。但是,以下代码会引发错误
$sql = "INSERT INTO sheet_tbl (site_id, user_id, eventdate, eventtime, username) VALUES ('$_POST[site_id]','$_POST[user_id]','$_POST[eventdate]','$_POST[eventtime]',$username)";
错误
warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near ")" at character 112 in /var/www/html/drupal1/includes/common.inc(1743) : eval()'d code on line 30.
我使用以下方式提取用户名:
User Name: <?php
global $user;
echo $user->name;
$username = $user->name;
?>
如果我回应这个变量,我得到结果= admin
答案 0 :(得分:0)
我不确定没有查看echo $sql;
的输出,但我想问题是你访问$POST
数组的方式。
试试这个:
$sql = "INSERT INTO sheet_tbl (site_id, user_id, eventdate, eventtime, \"username\")"
." VALUES ('$_POST[site_id]', "
." '$_POST[user_id]',"
." '$_POST[eventdate]',"
." '$_POST[eventtime]',"
." '$username')";
编辑:更正语法
答案 1 :(得分:0)
您没有将username
放在引号中。取代
,$username)";
与
,'$username')";
顺便说一下,你不应该在你的SQL语句中放入未转义的用户输入。这可能会导致SQL注入。见here