2013-01-23 132 views
-2

插入的行删除子表中的行之后更新数据时,如何比较插入MySQL查询结果假输出

$sql=mysql_query("INSERT INTO (stu_no,username,maths,english,telugu,id) VALUES 
     ('".$_POST['stu_no']."','".$_POST['username']."','".$_POST['maths']."', 
     '".$_POST['english']."',)'".$_POST['teslugu']."','".$_GET['id']."')"; 
+3

你可以改变你的问题,使其更容易理解吗? –

+0

可能是你需要一个触发器? –

+0

看看Sudhir的回答。他说得对。 'INSERT INTO'后面没有表名。 – JakeGould

回答

2

你错过了表名,这样做:

mysql_query("INSERT INTO table_name_here (stu_no,username.. 

已添加:

$sql=mysql_query("INSERT INTO (stu_no,username,maths,english,telugu,id) VALUES 
     ('".$_POST['stu_no']."','".$_POST['username']."','".$_POST['maths']."', 
     '".$_POST['english']."','".$_POST['teslugu']."','".$_GET['id']."')"); 
+0

我提到了表名,但是两次插入了行 – johndavid

+0

@david是你在某个循环中的插入查询,否则这个确切的查询应该只插入一次数据,因为没有这样的代码可以插入两次......! –

+0

有一个括号错位,所以添加了正确的语句。如果'id'是你的自动增量字段,那么你不需要将它添加到你的插入查询中。 –

0

@Sudhir是对的,你错过了表名。而且,不要直接在mysql语句中使用$ _POST值。你必须使用,

$username = mysql_real_escape_string($_POST['username']); 

还有一件事,如果你不想打开和关闭双引号很多次,那么你也可以格式的查询字符串一样,

mysql_query("INSERT INTO `table` (`stu_no`,`username`,`maths`,`english`,`telugu`, `id`) 
VALUES ('{$_POST['stu_no']}','{$_POST['username']}','{$_POST['maths']}', 
'{$_POST['english']}','{$_POST['telugu']}','{$_GET['id']}')); 
0

希望这会工作为你。

$sql=mysql_query("INSERT INTO table (`stu_no`,`username`,`maths`,`english`,`telugu`,`id`) VALUES 
    ('$_POST['stu_no']','$_POST['username']','$_POST['maths']', 
    '$_POST['english']','$_POST['teslugu']','$_GET['id']')");