2012-04-14 10 views
1

私はこのコードを持っていますが、dbに2番目のクエリを作成しようとするとクラッシュします。ここでは、コードの一部がクラッシュします。私のクラスのmysqlに2番目のクエリを送信しようとするとエラーが発生する

if ($this->doRegister === true) { 
     $db = DB::connect(); 

     $stmt = $db->prepare('SELECT `user_id` FROM `users` WHERE `user_name` = ? OR `user_email` = ? LIMIT 1'); 

     $stmt->bind_param('ss', $this->store['userData']['name'], $this->store['userData']['email']); 
     $stmt->execute(); 
     $stmt->bind_result($userId); 
     $stmt->fetch(); 

     if (is_numeric($userId)) { 
      $stmt = $db->prepare('INSERT INTO `users`(`user_name`, `user_password`, `user_email`, `user_ip`, `user_dateRegistered`, `user_type`) VALUES (?, ?, ?, ?, ?, ?)'); 

      $hashedPassword = $this->encrytion('md5', md5($this->store['userData']['name']) . md5($this->store['userData']['password'])); 
      $dateRegistered = time(); 
      $type = 1; 

      $stmt->bind_param('ssssii', $this->store['userData']['name'], $hashedPassword, $this->store['userData']['email'], $_SERVER['REMOTE_ADDR'], $dateRegistered, $type); 
      $stmt->execute(); 

      $this->registerUser(); 
     } else { 
      return array('register' => 'User name or email already exists'); 
     } 
    } else { 
     return $this->store['userDataState']; 
    } 
+1

もう1つ実行する前にstmtを閉じる必要はありませんか? –

+0

でした。私はあなたを愛してくれてありがとう:D – user1323415

答えて

1

新しいクエリを実行/準備する前に、それを閉じる必要があります。

$stmt->close(); 
関連する問題