Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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 MySQL未将数据插入数据库并将产品id返回为0_Php_Mysql - Fatal编程技术网

PHP MySQL未将数据插入数据库并将产品id返回为0

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

我似乎无法使用此函数将数据输入数据库并返回产品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 = 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());
}