PHP - mysqli - 检查表是否已插入值

时间:2015-06-03 22:18:55

标签: php mysql post

我正在尝试检查创建新mysql行时添加的REF编号是否已被使用。我在添加新行时没有问题,但脚本不会先检查数据库。

    if ($_POST['add_new_bus']){
    if (($_POST['add_ref'] != "")&&($_POST['add_name'] != "")&&($_POST['add_address'] != "")&&($_POST['add_area'] != "")){
        $add_ref = $_POST['add_ref'];
        $add_name = $_POST['add_name'];
        $add_address = $_POST['add_address'];
        $add_area = $_POST['add_area'];
        $chech_sql = "INSERT INTO `Details` (`REF`) VALUES ('$add_ref')";
   if (!($conn->query($chech_sql))) {
        echo "REF is already in use";
    }else{
        mysqli_query($conn, "INSERT INTO `Details` (`REF`, `NAME`, `ADDRESS`, `AREA`) VALUES ('$add_ref', '$add_name', '$add_address', '$add_area')");
        echo "<p style='float:right;'>" . $_POST['add_name'] . " " . "has been added to the register with REF number:" . " " . $_POST['add_ref'] . "</p>";
        }
    }

如何检查REF编号是否已被使用?

1 个答案:

答案 0 :(得分:2)

为了让您正确了解如何操作,请查看以下代码: -

<?php
if (isset($_POST['add_new_bus']){
    if (($_POST['add_ref'] != "") &&($_POST['add_name'] != "")&&($_POST['add_address'] != "")&&($_POST['add_area'] != "")){
        $add_ref = $_POST['add_ref'];
        $add_name = $_POST['add_name'];
        $add_address = $_POST['add_address'];
        $add_area = $_POST['add_area'];
        $chech_sql = "SELECT add_ref FROM Details WHERE add_ref = '".$add_ref."'";
        $result = $conn->query($chech_sql);
   if (mysqli_num_rows($result) > 0) {
        echo "REF is already in use";
    }else{
        mysqli_query($conn, "INSERT INTO `Details` (`REF`, `NAME`, `ADDRESS`, `AREA`) VALUES ('$add_ref', '$add_name', '$add_address', '$add_area')");
        echo "<p style='float:right;'>" . $_POST['add_name'] . " " . "has been added to the register with REF number:" . " " . $_POST['add_ref'] . "</p>";
        }
    }
}
?>

注意: - 检查变量值和其他事情取决于您。因为你只在你的代码中拥有它们。谢谢。