我使用简单的MySQL代码从带有auto_increment id的表单中插入数据,它在本地主机上运行良好,但在服务器上不工作。
这是我正在使用的代码
$myvar=$_POST['var'];
//Insert data into mysql table
$sql="INSERT INTO mytable(id,myvar) VALUES ('','$myvar')";在本地主机中,phpmyadmin数据被插入到表中,而在服务器上,phpmyadmin数据没有插入到表中。在我的本地主机中,我使用XAMPP,而在IIS服务器上使用phpmyadmin。在服务器上的phpmyadmin中,我应该做什么设置,以便自动添加id,我知道我可以使用mysql_insert_id()插入id,但是在很多文件中,我使用了这种类型的代码,我无法更改。我想要与XAMPP相同的设置,可以轻松地接受这种类型的代码。
发布于 2013-07-30 06:35:16
自动增量插入id本身,因此不需要通过代码传递它
$sql="INSERT INTO mytable(myvar) VALUES ('$myvar')";或者你可以这么做
$sql="INSERT INTO mytable(id,myvar) VALUES (NULL,'$myvar')";如果出于某种原因要手动插入id
$sql="INSERT INTO mytable(id,myvar) VALUES (10,'$myvar')";发布于 2013-07-30 06:33:27
在自动增量id中插入“”。只需插入其他字段,MySQL就会处理自动增量列。
$sql="INSERT INTO mytable(id,myvar) VALUES ('','$myvar')";应该是
$sql="INSERT INTO mytable(myvar) VALUES ('$myvar')";发布于 2013-07-30 06:35:31
如果您想要表中所有行中的最后一行,那么现在终于是MAX(id)是正确答案的时候了!:)。
SELECT fields FROM mytable BY id DESC LIMIT 1;将得到最后一个id,然后将其增加到1 //,在insert语句中将此值添加到id。
或者,如果有自动增量列,则将其更改为
$sql="INSERT INTO mytable(id,myvar) VALUES ('','$myvar')";至
$sql="INSERT INTO mytable(myvar) VALUES ('$myvar')";https://stackoverflow.com/questions/17939810
复制相似问题