我正在尝试插入用户输入的值以及一个字符串,该字符串是开始日期的月份+用户输入的季度的组合。怎么了。请帮忙!!!!!
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "addUser")) {
$date= $_POST['start_date'];
$d=date_parse_from_format("Y-m-d",$date);
$insertSQL = sprintf("INSERT INTO contacts (USER_NAME, START_DATE, THREE_MONTH, SIX_MONTH, TWELVE_MONTH, QUARTER, ORDER) VALUES (%s, %s, %s, %s, %s, %s,'".$d["month"].$d["year"].$_POST['quarter']."' )",
GetSQLValueString($_POST['user'], "text"),
GetSQLValueString($_POST['start_date'], "date"),
GetSQLValueString($_POST['3month'], "date"),
GetSQLValueString($_POST['6month'], "date"),
GetSQLValueString($_POST['12month'], "date"),
GetSQLValueString($_POST['quarter'], "text"));
错误我得到了:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 'ORDER)VALUES附近('boobz','2013-11-22','2013-11-29', '2013-11-23','2013-11-02','第1行
答案 0 :(得分:2)
ORDER是保留字。使用`
或更好地将其更改为数据库结构中的其他内容。这是更好的做法。
答案 1 :(得分:2)
订单是保留字,您需要用反引号引用它:
INSERT INTO contacts (USER_NAME, START_DATE, THREE_MONTH, SIX_MONTH, TWELVE_MONTH, QUARTER, `ORDER`)
或者更好的是,不要使用保留字并使用更明智的东西。