PHP MySQL未将数据插入数据库并将产品id返回为0
我似乎无法使用此函数将数据输入数据库并返回产品id。当我尝试返回产品id时,它将返回0,同时数据库中未输入任何内容 PHP函数:PHP MySQL未将数据插入数据库并将产品id返回为0,php,mysql,Php,Mysql,我似乎无法使用此函数将数据输入数据库并返回产品id。当我尝试返回产品id时,它将返回0,同时数据库中未输入任何内容 PHP函数: function product_id(){ $id_data = "INSERT INTO `products` (`product_id`, `date_created`) VALUES('', NOW())"; mysqli_query(database(), $id_data); return $product_id = mysql
function product_id(){
$id_data = "INSERT INTO `products` (`product_id`, `date_created`) VALUES('', NOW())";
mysqli_query(database(), $id_data);
return $product_id = mysqli_insert_id(database());
}
MySQL
下面是我如何在PHP中调用该函数
$product_id = product_id();
由于无法插入到
auto_increment
字段中,请将其从insert语句中删除,它应该可以工作
function product_id(){
$id_data = "INSERT INTO `products` (`date_created`) VALUES( NOW())";
mysqli_query(database(), $id_data);
return $product_id = mysqli_insert_id(database());
}
此外,您将来可能会遇到mysqli
错误,请尝试使用mysqli\u error()
函数
您明确告诉它要插入零:
INSERT INTO `products` (`product_id`, `date_created`) VALUES('', NOW())
该空字符串被转换为INT并设置为零。由于它是一个自动增量字段,只需将其忽略,它将选择下一个可用值:
INSERT INTO `products` (`date_created`) VALUES(NOW())
您正在使用
值(“”,NOW())
为产品id指定NULL值
您不需要在查询产品\u id
时提供值或定义值,因为它是创建表时自动递增的主键
下面的代码没有在insert查询中明确定义product_id,应该可以正常工作:
function product_id(){
$id_data = "INSERT INTO `products` (`date_created`) VALUES( NOW())";
mysqli_query(database(), $id_data);
return $product_id = mysqli_insert_id(database());
}
小心使用诸如数据库()
之类的函数。LAST\u INSERT\u ID()。
function product_id(){
$id_data = "INSERT INTO `products` (`date_created`) VALUES( NOW())";
mysqli_query(database(), $id_data);
return $product_id = mysqli_insert_id(database());
}