我有一个组合键,它们是学校的基础,分别是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
$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();
}