Сравнение между запросом MySQL и вводом PHP - PullRequest
0 голосов
/ 02 августа 2020

У меня есть форма и 2 поля ввода, одно для идентификатора и одно для информации, когда я сохраняю значения, мне нужно проверить, существует ли идентификатор в таблице номер 1 или нет, если он существует, затем сохраните информацию в таблице номер 2, если не существует, скажите, что это недействительный идентификатор, и вот мой код.

Ps, идентификатор уже существует в другой таблице, и я хочу сохранить информацию в другой таблице, а я не есть какие-либо проблемы с соединением или чем-то еще, что я могу немедленно сохранить, если второе условие не существует, и в базе данных он будет автоматически проверять, существует ли идентификатор или нет, но я хочу проверить здесь, если я пишу недействительный или нет.

<?php

if (isset($_POST['submitInfo'])) {

    require 'dbh.php';

    $ID =  $_POST['ID'];
    $Info =  $_POST['DataInfo'];
    $check = "SELECT ID FROM info";
    $cresult = mysqli_query($conn, $check);
    $cresult1 = mysqli_store_result($cresult);

      if (!preg_match("/^[0-9]*$/", $ID)) {
        header("Location: ../Data.php?error=invalidID");
        exit();
    } else if (mysqli_num_rows($cresult1) == 0 ) {
        header("Location: ../Data.php?error=invalidID2");
        exit();
    } else {
        $sql = "INSERT into datainfo (ID,Information) values (?,?)";
        $stmt = mysqli_stmt_init($conn);
        if (!mysqli_stmt_prepare($stmt, $sql)) {
            header("Location: ../Data.php?error=sqlerror");
            exit();
        } else {
            mysqli_stmt_bind_param($stmt, "is", $ID, $Info);
            mysqli_stmt_execute($stmt);
            mysqli_stmt_store_result($stmt);
            header("Location: ../Data.php?signup=success");
            exit();
        }
    }
}

1 Ответ

0 голосов
/ 02 августа 2020

исправил :)

<?php

if (isset($_POST['submitInfo'])) {

    require 'dbh.php';

    $ID =  $_POST['ID'];
    $Info =  $_POST['DataInfo'];






    if (empty($ID) || empty($Info)) {
        header("Location: ../Data.php?error=emptyFields");
        exit();
    } else if (!preg_match("/^[a-zA-Z0-9- ]*$/", $Info)) {
        header("Location: ../Data.php?error=invalidChar");
        exit();
    } else if (!preg_match("/^[0-9]*$/", $ID)) {
        header("Location: ../Data.php?error=invalidID");
        exit();
    } else {
        $sql = "select ID from info where ID=?";
        $stmt = mysqli_stmt_init($conn);
        if (!mysqli_stmt_prepare($stmt, $sql)) {
            header("Location: ../Data.php?error=sqlerror");
            exit();
        } else {

            mysqli_stmt_bind_param($stmt, "i", $ID);
            mysqli_stmt_execute($stmt);
            mysqli_stmt_store_result($stmt);
            $resultCheck = mysqli_stmt_num_rows($stmt);
            if ($resultCheck > 0) {
                $sql = "insert into  datainfo (ID,Information) values (?,?);";
                $stmt = mysqli_stmt_init($conn);
                if (!mysqli_stmt_prepare($stmt, $sql)) {
                    header("Location: ../Data.php?error=sqlerror");
                    exit();
                } else {
                    mysqli_stmt_bind_param($stmt, "is", $ID, $Info);
                    mysqli_stmt_execute($stmt);
                    header("Location: ../Data.php?signUp=success");
                    exit();
                }
            } else {
                header("Location: ../Data.php?error=thisIDdoesntExist");
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...