php语法我在绑定参数和SELECT时遇到错误

问题描述 投票:-1回答:1

我有一个组合键,它们是学校的基础,分别是FirstName,MiddleName,LastName和LastSchoolAttended,它必须限制为1。但是,$ stmt目前存在错误= $ conn-> prepare($ SELECT),我认为$ SELECT的语法错误。我是php新手。如您所见,我正在使用逻辑AND,甚至不确定自己是否做对了。

$SELECT = "SELECT
    FirstName,
    MiddleName,
    LastName,
    LastSchoolAttended
From information
Where FirstName = ? And MiddleName = ? And LastName = ? And LastSchoolAttended = ?
Limit 1";
$INSERT = "INSERT Into information (
    FirstName,
    MiddleName,
    LastName,
    Age,
    HomeAddress,
    ContactNumber,
    LastSchoolAttended
) values (?,?,?,?,?,?,?)";
$stmt = $conn->prepare($SELECT);
$stmt->bind_param("ssss", $FirstName, $MiddleName, $LastName, $LastSchoolAttended);
$stmt->execute();
$stmt->bind_result($FirstName, $MiddleName, $LastName, $LastSchoolAttended);
$stmt->store_result();
$rnum = $stmt->num_rows;
if ($rnum == 0) {
    $stmt->close();
    $stmt = $conn->prepare($INSERT);
    $stmt->bind_param("sssisis", $FirstName, $MiddleName, $LastName, $Age, $HomeAddress, $ContactNumber, $LastSchoolAttended);
    $stmt->execute();
}
php mysql syntax
1个回答
0
投票

使用以下方法调试代码。

您可以获得详细的错误报告

<?php
$SELECT = "SELECT
    FirstName,
    MiddleName,
    LastName,
    LastSchoolAttended
From information
Where FirstName = ? And MiddleName = ? And LastName = ? And LastSchoolAttended = ?
Limit 1";
$INSERT = "INSERT Into information (
    FirstName,
    MiddleName,
    LastName,
    Age,
    HomeAddress,
    ContactNumber,
    LastSchoolAttended
) values (?,?,?,?,?,?,?)";
if ($stmt = $conn->prepare($SELECT)) {
    if ($stmt->bind_param("ssss", $FirstName, $MiddleName, $LastName, $LastSchoolAttended)) {
        if ($stmt->execute()) {
            if ($stmt->bind_result($FirstName, $MiddleName, $LastName, $LastSchoolAttended)) {
                $stmt->store_result();
                $rnum = $stmt->num_rows;
                if ($rnum > 0) {
                    $stmt->close();
                    if ($stmt = $conn->prepare($INSERT)) {
                        if ($stmt->bind_param("sssisis", $FirstName, $MiddleName, $LastName, $Age, $HomeAddress, $ContactNumber, $LastSchoolAttended)) {
                            if ($stmt->execute()) {
                                echo 'Successfully Executed';
                            } else {
                                echo 'Error 1: ' . $stmt->error;
                                die();
                            }
                        } else {
                            echo 'Error 2: ' . $stmt->error;
                            die();
                        }
                    } else {
                        echo 'Error 3: ' . $stmt->error;
                        die();
                    }
                } else {
                    echo 'Error 3.5: There is no entries in the `information` table';
                    die();
                }
            } else {
                echo 'Error 4: ' . $stmt->error;
                die();
            }
        } else {
            echo 'Error 5: ' . $stmt->error;
            die();
        }
    } else {
        echo 'Error 6: ' . $stmt->error;
        die();
    }
} else {
    echo 'Error 7: ' . $conn->error;
    die();
}
© www.soinside.com 2019 - 2024. All rights reserved.