我处境很奇怪。在我的数据库表中,字段定义为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 = Yes或者还有其他方法可以实现此目的吗?
我在这里做错了什么。请指教。
答案 0 :(得分:1)
当PHPmyAdmin中的列设置为'not null'时,表示您需要在该字段中有一些值,否则会失败,因此简而言之,您的INSERT查询将失败,您将看不到echo 'Data Added';
因为MySQL中的先前错误没有影响任何行。
至于你应该做什么NULL取决于你的设置,某些字段可能是必需的,例如你可能希望你的'emp_id'在记录中一直存在,所以你会把它变成'非空'。 / p>
设置字段属性并相应地更改代码,如果数据库中的字段是必填字段,则可以采取措施确保字段在发送到数据库之前存在。