Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未插入自动增量id_Php_Mysql_Phpmyadmin - Fatal编程技术网

Php 未插入自动增量id

Php 未插入自动增量id,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我使用简单的MySQL代码从具有自动增量id的表单插入数据,它在本地主机上运行良好,但在服务器上运行不好 这是我正在使用的代码 $myvar=$_POST['var']; //Insert data into mysql table $sql="INSERT INTO mytable(id,myvar) VALUES ('','$myvar')"; 在本地主机上,phpmyadmin数据插入表中,但在服务器上,phpmyadmin数据未插入表中。在本地主机中,我使用的是XAMPP,而在II

我使用简单的MySQL代码从具有自动增量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\u insert\u id()
插入id,但在很多文件中,我使用了这种类型的代码,我无法更改。我想要与
XAMPP
相同的设置,可以轻松地获取这种类型的代码

您需要将“”插入到自动增量id中。只需插入其他字段,MySQL就会处理自动增量列

$sql="INSERT INTO mytable(id,myvar) VALUES ('','$myvar')";
应该是

$sql="INSERT INTO mytable(myvar) VALUES ('$myvar')";
您需要将“”插入到自动增量id中。只需插入其他字段,MySQL就会处理自动增量列

$sql="INSERT INTO mytable(id,myvar) VALUES ('','$myvar')";
应该是

$sql="INSERT INTO mytable(myvar) VALUES ('$myvar')";

自动增量插入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')";

自动增量插入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')";
如果您想要表中所有行中的最后一行,那么这就是
MAX(id)
是正确答案的最后时刻了!:)有点

将获取最后一个id,然后将其增量为1//在insert语句中将此值添加到id中

或 如果您有一个自动递增列,请将其更改为

$sql="INSERT INTO mytable(id,myvar) VALUES ('','$myvar')";

如果您想要表中所有行中的最后一行,那么这就是
MAX(id)
是正确答案的最后时刻了!:)有点

将获取最后一个id,然后将其增量为1//在insert语句中将此值添加到id中

或 如果您有一个自动递增列,请将其更改为

$sql="INSERT INTO mytable(id,myvar) VALUES ('','$myvar')";


首先通过应用查询检查表结构属性:

描述我的表格(或)显示创建表格我的表格

检查是否为列id设置了自动增量属性

如果是,则表示不需要在insert查询中传递id

只需将查询编写为:-


$sql=“插入mytable(myvar)值(“$myvar”)”

首先通过应用查询检查表结构属性:

描述我的表格(或)显示创建表格我的表格

检查是否为列id设置了自动增量属性

如果是,则表示不需要在insert查询中传递id

只需将查询编写为:-


$sql=“插入mytable(myvar)值(“$myvar”)”

如果仍然收到错误

首先,在服务器中,您的id列必须标记为自动增量。数据类型应为int。 如果可以的话

insert into mytable(myvar) values('test');  
并尝试使用准备好的语句来避免sql注入。谢谢。

希望这对您有用。

如果您仍然收到错误信息

首先,在服务器中,您的id列必须标记为自动增量。数据类型应为int。 如果可以的话

insert into mytable(myvar) values('test');  
并尝试使用准备好的语句来避免sql注入。谢谢。

希望这对您有用。

保持id值为空

像这样:

$sql="INSERT INTO mytable(myvar) VALUES ('$myvar')";

保持id值为空

像这样:

$sql="INSERT INTO mytable(myvar) VALUES ('$myvar')";

确保您的DB列在IIS服务器中具有自动增量属性为什么不使用phpmyadmin使其自动增量?切记,您使用$myvar的方式可能会导致SQL注入攻击。我希望你能以某种方式处理好这件事,尽管它已经被弃用了。。。如果它在很多方面没有危险和缺陷,我很欣赏你的能力确保你的DB列在IIS服务器中具有自动增量属性为什么不使用phpmyadmin使其自动增量?切记,你使用$myvar的方式可能会导致SQL注入攻击。我希望你能以某种方式处理好这件事,尽管它已经被弃用了。。。如果它在很多方面没有危险和缺陷,我很欣赏你的能力如果值不能省略,它不应该是空字符串,而是NULL。如果值不能省略,它不应该是空字符串,而是NULL。实际上,
MAX(id)
方法将导致错误,因为在确定该值之后,不同的进程可能会添加具有该ID的新数据集。在具有并发访问的系统中不安全。实际上,
MAX(ID)
方法将导致错误,因为在确定该值后,不同的进程可能会添加具有该ID的新数据集。在具有并发访问的系统中不安全。