2015-01-26 2 views
-2
$encrypt1 = hash('sha512',$password); 
$encrypt = hash('sha512',$encrypt1); 
session_start(); 
$_SESSION['username'] = $user; 
$_SESSION['password'] = $encrypt; 
$ip = $_SERVER['REMOTE_ADDR']; 
$data1 = "INSERT INTO users username, password, email, ip VALUES :username,:password,:email,:ip"; 
$data2 = $handler->prepare($data1); 
$data2->execute(array(':username' => $username, ':password' => $encrypt, ':email' => $email, ':ip' => $ip)); 
echo "<div class='reg-success'><p class='basic-font reg-success-txt'>You   have been successfully registered - Redirecting Momentarily</p></div>"; 
header('Refresh: 5; URL=../'); 

я считаю, что ошибка где-то в этом коде я думаю, что я сделал ошибку в подготовке или выполнить заявлениеПо некоторым причинам это ошибки, и не будет регистрировать мои пользователи

+0

Вам не хватает скобок в '$ data1' - Редактировать: вы можете игнорировать этот комментарий. –

+0

Это будет служить вам * much * better => ['PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION'] (http://php.net/manual/en/pdo.error-handling.php) –

+0

Прекратите считать, что ваш запросы никогда не потерпят неудачу. ** ВСЕГДА ** предполагайте неудачу, проверяйте неудачу и относитесь к успеху как к приятному удивлению. Если бы у вас была даже минимальная минимальная обработка ошибок, вам сообщили об ошибках синтаксиса SQL. –

ответ

1

Эта линия:

$data1 = "INSERT INTO users username, password, email, ip 
      VALUES :username,:password,:email,:ip"; 

должно быть:

$data1 = "INSERT INTO users (username, password, email, ip) 
      VALUES (:username,:password,:email,:ip)"; 
4

INSERT требует скобок списка столбцов и значений:

$data1 = "INSERT INTO users (username, password, email, ip) 
      VALUES (:username,:password,:email,:ip)";