当我打开它时,我有这个错误:
未处理的例外。 SQLSTATE [23000]:完整性约束违规:1048列' idComplejo'不能为空
这是我的php:
<?php
require("Db.class.php");
$db = new Db();
$response = array();
$idComplejo= $_POST['idComplejo'];
$idUsuario= $_POST['idUsuario'];
$result = $db->query("INSERT INTO baneo(idComplejo, idUsuario) VALUES(:idComplejo, :idUsuario)",
array("idComplejo" => $idComplejo, "idUsuario" => $idUsuario));
if($result == 0) {
$response["success"] = 0;
$response["mensaje"] = "Error";
}
else if($result > 0){
$response["success"] = 1;
$response["mensaje"] = "Success";
}
echo json_encode($response);
?>
显然,如果我只是打开php,变量是NULL。但是如果有人打开这个php我想显示这个错误:
$response["success"] = 0;
$response["mensaje"] = "Error";
原因是因为我想保护我的文件,而我不想显示我的数据库的样子。
由于
答案 0 :(得分:1)
代码需要一些重组。在尝试插入之前确保您有值,如上所述
<?php
require("Db.class.php");
$db = new Db();
$response = array();
if(!empty($_POST['idComplejo']) && !empty($_POST['idUsuario'])){
$idComplejo= $_POST['idComplejo'];
$idUsuario= $_POST['idUsuario'];
}else{
$response["success"] = 0;
$response["mensaje"] = "Error";
}
if(!isset($response["mensaje"])){
//Required data is here
$result = $db->query("INSERT INTO baneo(idComplejo, idUsuario) VALUES(:idComplejo, :idUsuario)",array("idComplejo" => $idComplejo, "idUsuario" => $idUsuario));
}
if($result) {
$response["success"] = 1;
$response["mensaje"] = "Success";
}
echo json_encode($response);
&GT;