希望有人可以帮助我。我所要做的就是将记录插入数据库,但我不断收到消息
您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,以便在'order(pid,uid,projecttitle,username,amount,odate)值附近使用正确的语法(,,'','','6-2'在行我的页面上有1个。
这是代码的主要部分。对于能帮助我的人,我将不胜感激。
<?
extract($_REQUEST);
//print_r($_REQUEST);
//query fetch user & project info
//$queryorder="select * from project p where p.pid='".$id."'";
$queryorder="select * from users u,project p where p.pid='".$id."' and u.uid='".$_SESSION['key']."'";
$resultorder=executequery($queryorder,$link);
$rowo=mysql_fetch_assoc($resultorder);
//print_r($rowo);
//get today date
$createddate=date("n-j-Y");
//order
$order="insert into order (pid,uid,projecttitle,username,amount,odate)
values (".$rowo['pid'].",".$rowo['uid'].",'".$rowo['projectname']."','".$rowo['username']."',".$rowo['price'].",'".$createddate."')";
mysql_query($order) or die(mysql_error());
//end of insert order query
?>
<? //headtag.php conatain all javascript & css files
include('headtag.php');
?>
<body>
答案 0 :(得分:4)
ORDER
是一个mysql关键字。试试这个:
INSERT INTO `order` ...
答案 1 :(得分:2)
order
是一个关键字。你需要用反引号来逃避它。
insert into `order` (pid,uid,projecttitle,username,amount,odate)...
答案 2 :(得分:0)
您必须为每列提供一个值。
(,,'','',,'6-2'
你显然没有pid,uid和amount的值。
答案 3 :(得分:-2)
试试这个:(您要为该查询提供空值)
$order="insert into order (pid,uid,projecttitle,username,amount,odate)
values (".(int)$rowo['pid'].",". (int)$rowo['uid'].",'".$rowo['projectname']."','".$rowo['username']."',". (float)$rowo['price'].",'".$createddate."')";
mysql_query($order) or die(mysql_error());
导致mysql语法错误的第二件事是表名 - order
是mysql中的保留关键字,所以你需要引用它。然后查询的开头是:
INSERT INTO`order`(...