繁体   English   中英

PHP致命错误:

[英]PHP Fatal error:

以下在第66行给出了一个错误。

第66行 - > if ($result->fetch_array(MYSQLI_NUM) == NULL) {

一切似乎都在根据文档工作。

我正在尝试确保插入的电子邮件地址尚不存在。

$_email= $connection-> real_escape_string($email);

$checkSql='SELECT * FROM customer_registration WHERE EMAIL='.'"$_email"'.';';


$result= $connection -> query($checkSql);

//print_r($result);

$sql="INSERT INTO customer_registration(CUSTOMER_FNAME, CUSTOMER_LNAME,      CUSTOMER_DOB, APARTMENT, STREET, CITY, PROVINCE, POSTAL_CODE, EMAIL, PHONE, SIGN_IN_DATE)
    VALUES ('".$fname."','".$lname."',STR_TO_DATE('$dob','%m/%d/%Y'),'".$apt."','".$street."','".$city."','".$province."','".$postalCode."','".$email."','".$phone."',NOW());";


if ($result->fetch_array(MYSQLI_NUM) == NULL) {
    $connection->query($sql);           
    header('../login.php');
} else {            
    header('../index.php');         
}

IF语句不会因任何原因而发生,我不确定是什么问题。 我检查了他们正在运行的查询,但if语句不起作用。

$_email!=$email两者都有不同的更改您的查询

$email= $connection-> real_escape_string($email);

$checkSql="SELECT * FROM customer_registration WHERE EMAIL='".$email."'";

或者使用bind语句并使用num_rows()来检查查询返回结果

$stmt = $connection->prepare("SELECT * FROM customer_registration WHERE EMAIL=?");
$stmt->bind_param("s", $email);
$stmt->execute();

$row_cnt = $connection->num_rows;

if ($row_cnt > 0) {
    $connection->query($sql);
    header('../login.php');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM