PHP:在 mysqli prepare 中插入 NULL 值


PHP: Insert NULL value in mysqli prepare

我的情况很奇怪。在我的数据库中,表字段定义为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"。

设置字段属性并相应地在代码中进行更改,如果某个字段在数据库中是必填字段,则可以采取措施确保该字段在发送到数据库之前存在。