由于id为空,PHP未插入记录
我想使用将记录插入数据库 我有3个文件由于id为空,PHP未插入记录,php,mysqli,Php,Mysqli,我想使用将记录插入数据库 我有3个文件 config.php(用于数据库连接) php(用于CRUD的创建函数) php(听说我从functions.php调用了函数) 1。config.php文件 <?php $servername = "localhost"; $username = "root"; $password = ""; // Create connection $conn = mysqli_connect($servername, $username, $password
<?php
$servername = "localhost";
$username = "root";
$password = "";
// Create connection
$conn = mysqli_connect($servername, $username, $password) ;
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$db =mysqli_select_db($conn,"test");
?>
它给了我警告,因为我在$values
数组中传递了NULL
,所以在添加记录期间,它会显示警告:缺少参数
注意
:id是以DB为单位自动递增的
当我打印查询时,它会显示出来
INSERT INTO employee VALUES('Jack','12000','15');
我在mysql
中使用了相同的查询,它是给定的error
#1136-列计数与第1行的值计数不匹配
有人请帮助我在哪里需要更改代码。更改:
$columns= array('id','employee_name','employee_salary','employee_age');
$values =array(NULL,'Jack','12000','15');
到
你的功能有点不正常
function addRecord($table,$coloumn,$values){
$insertQuery = "INSERT INTO ".$table." VALUES('".$values."')";
}
这不会返回任何内容,而且变量$coloumn
从未使用过
我看不到实际的mysql插入发生在哪里,但由于该函数除了为变量分配字符串之外什么都不做,所以它什么都做不了
它给了我警告,因为我在$values数组中传递了NULL,所以在add record期间它的显示
将此函数调用为addRecord('employee',$val)
,如您所见,您正在传递$val
,其中$coloumn
应该是,从函数中删除$coloumn
,该警告将消失
也
应该是
$columns= array('employee_name','employee_salary','employee_age');
$values =array('Jack','12000','15');
然后:
并在语句中使用$addQuery
1136-列计数与第1行的值计数不匹配
这是因为您没有指定要插入的列,MySQL知道有4列,包括ID,您给它三个值
您的查询应该是:
INSERT INTO employee (employee_name, employee_salary, employee_age) VALUES('Jack','12000','15');
是否有任何错误输出?此外,您还尝试将值(““$VALUES.”)更改为值($VALUES),因为您已经在implode中添加了“,”,并使用了类似addRecord(“employee”、“,$VALUES”)的函数;不,没有错误,因为我将NULL作为id传递,所以没有插入列计数记录。它不会给您有关
addRecord()的警告/错误
需要三个参数,但只得到两个?我删除了第二个参数。如果您想跳过insert查询中的字段,请发布显示insert语句的代码(id
),您需要让您的$columns
数组定义要输入的字段我删除了$column变量,这是出于调试目的。这就是问题的原因。当我在sql中打印查询时未插入记录,这是给定的缺少列错误。例如#1136-列计数与第1行的值计数不匹配。您可以发布y吗我们的insert语句?无法使用您的$insertQuery
,因为它未在函数中返回。我在问题中提到过,也可以在我的命令中打印我的查询
function addRecord($table,$coloumn,$values){
$insertQuery = "INSERT INTO ".$table." VALUES('".$values."')";
}
$columns= array('id','employee_name','employee_salary','employee_age');
$values =array(NULL,'Jack','12000','15');
$columns= array('employee_name','employee_salary','employee_age');
$values =array('Jack','12000','15');
function addRecord($table,$values){
return "INSERT INTO ".$table." VALUES('".$values."')";
}
$addQuery = addRecord('employee',$val);
INSERT INTO employee (employee_name, employee_salary, employee_age) VALUES('Jack','12000','15');