我的情况很奇怪。在我的数据库中,表字段定义为NOT NULL
。当我在下面运行查询时,它没有显示echo 'Data Added';
的输出
但是,如果我通过 phpmyadmin 将字段定义更改为NULL=yes
,那么它将显示Data Added
.
$results = $mysqli->prepare("INSERT INTO posting (emp_id, title, open, description, keywords, min, max, ip_add) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
$results ->bind_param("isisssss", $emp_id, $title, $open, $description, $keywords, $min, $max, $ip_add );
$results->execute();
if($results->affected_rows == 1){
echo 'Data Added';
}
我想知道我是否需要更改 mysql 表中的所有字段并使它们 Null = 是,或者还有其他方法可以实现这一点吗?
我在这里做错了什么。请指教。
当 PHPmyAdmin 中的列设置为"不为空"时,这意味着您需要在该字段中具有一些值,否则它将失败,因此简而言之,您的 INSERT 查询将失败,您将看不到echo 'Data Added';
因为没有行由于 MySQL 中的先前错误而受到影响。
至于你应该做什么 NULL 取决于您的设置,有些字段可能是必填的,例如,您可能希望您的"emp_id"始终存在于记录中,因此您可以将其设置为"NOT NULL"。
设置字段属性并相应地在代码中进行更改,如果某个字段在数据库中是必填字段,则可以采取措施确保该字段在发送到数据库之前存在。