php - 如果条件正确,如何插入数据
问题描述
如果满足条件,如何从 FORM 将数据插入 mysql。
这些是我的代码。
$sql0
检查是否已经存在类似的数据
$sql1
向mysql插入数据
$wirebname = mysqli_real_escape_string($conn, $_POST["wirebname"]);
$wireaccname = mysqli_real_escape_string($conn, $_POST["wireaccname"]);
$wireacno = mysqli_real_escape_string($conn, $_POST["wireacno"]);
$wirebranchnumber = mysqli_real_escape_string($conn, $_POST["wirebranchnumber"]);
$swift = mysqli_real_escape_string($conn, $_POST["swift"]);
$route = mysqli_real_escape_string($conn, $_POST["route"]);
$state = mysqli_real_escape_string($conn, $_POST["state"]);
$country = mysqli_real_escape_string($conn, $_POST["country"]);
$id = $_SESSION['loggedIn_cust_id'];
$sql0 = "
SELECT wire_benef_id
FROM wire_beneficiary".$id."
WHERE wirebname='".$wirebname."'
AND wireaccname='".$wireaccname."'
AND wireacno='".$wireacno."'
AND swift='".$swift."'
AND route='".$route."'
";
$result = $conn->query($sql0);
$success = 0;
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$wire_account_number = $row["wireacno"];
if ($wireacno != $wire_account_number) {
$sql1 = "INSERT INTO wire_beneficiary".$id."
VALUES(
NULL,
'$wirebname',
'$wireaccname',
'$wireacno',
'$wirebranchnumber',
'$swift',
'$route',
'$state'
'$country',
)
";
if (($conn->query($sql1) === TRUE)) {
$success = 1;
}
} else {
$success = -1;
}
}
如果帐号已经存在,我想打印一个错误
如果不是,则应将其写入数据库。
<?php
if ($success == 1) { ?>
<p id="info"><?php echo "Beneficiary successfully added !\n"; ?></p>
<?php } ?>
解决方案
您可以将数据库中的“帐号”列作为主键。因此,当您尝试从 db 插入相同的帐号时,您将获得主键违规异常。
(PRIMARY KEY 约束唯一标识表中的每条记录。主键必须包含 UNIQUE 值,并且不能包含 NULL 值。一张表只能有一个主键,可以由单个或多个字段组成。有关主键的参考来自this )
您可以使用该错误来设置插入是否成功。