致命错误:uncaughtpdoexception:sqlstate[hy000]:“location”堆栈跟踪中的常规错误:#0

bvpmtnay  于 2021-06-17  发布在  Mysql
关注(0)|答案(0)|浏览(197)

我很抱歉问了一些很明显的问题。我有一个致命的错误,但似乎没有什么问题,因为一切似乎都在工作(用户已注册)
我目前正在学习php,我正在通过编辑现有代码来学习它。所以这不是我一开始的代码。不管怎样,这个代码上周运行得很好。我没有实际编辑它的记忆。现在当我测试它时,它给了我一个致命的错误(标题中的那个)。它抱怨代码“register.php(50):pdostatement->fetchall()#1”
代码是:

<?php

include('database_connection.php');

if(isset($_SESSION['user_id']))
{
 header("location:index.php");
}

$message = '';

if(isset($_POST["register"]))
{
 $query = "
 SELECT * FROM users 
 WHERE user_email = :user_email
 ";
 $statement = $connect->prepare($query);
 $statement->execute(
  array(
   ':user_email' => $_POST['user_email']
  )
 );
 $no_of_row = $statement->rowCount();
 if($no_of_row > 0)
 {
  $message = '<label class="text-danger">Email Already Exits</label>';
 }
 else
 {
  $user_password = rand(100000,999999);
  $user_encrypted_password = password_hash($user_password, PASSWORD_DEFAULT);
  $user_activation_code = md5(rand());
  $insert_query = "
  INSERT INTO users
  (user_name, user_email, user_password, user_activation_code, user_email_status) 
  VALUES (:user_name, :user_email, :user_password, :user_activation_code, :user_email_status)
  ";
  $statement = $connect->prepare($insert_query);
  $statement->execute(
   array(
    ':user_name'   => $_POST['user_name'],
    ':user_email'   => $_POST['user_email'],
    ':user_password'  => $user_encrypted_password,
    ':user_activation_code' => $user_activation_code,
    ':user_email_status' => 'not verified'
   )
  );
  $result = $statement->fetchAll();
  if(isset($result))
  {

我正试着看问题,但看不见。如果有人能找到问题,我将不胜感激。。在if isset代码之后,只有一个phpmailer函数。
我知道我不好,但我正在努力学习,想知道我把事情搞砸了。谢谢

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题