Php 由于某种原因,这一错误和胜利';我不能注册我的用户 $encrypt1=hash('sha512',$password); $encrypt=hash('sha512',$encrypt1); 会话_start(); $\会话['username']=$user; $\会话['password']=$encrypt; $ip=$\u服务器['REMOTE\u ADDR']; $data1=“在用户中插入用户名、密码、电子邮件、ip值:用户名、密码、电子邮件、ip”; $data2=$handler->prepare($data1); $data2->execute(数组(':username'=>$username',:password'=>$encrypt',:email'=>$email',:ip'=>$ip)); echo“您已成功注册-立即重定向”; 标题('Refresh:5;URL=../');

Php 由于某种原因,这一错误和胜利';我不能注册我的用户 $encrypt1=hash('sha512',$password); $encrypt=hash('sha512',$encrypt1); 会话_start(); $\会话['username']=$user; $\会话['password']=$encrypt; $ip=$\u服务器['REMOTE\u ADDR']; $data1=“在用户中插入用户名、密码、电子邮件、ip值:用户名、密码、电子邮件、ip”; $data2=$handler->prepare($data1); $data2->execute(数组(':username'=>$username',:password'=>$encrypt',:email'=>$email',:ip'=>$ip)); echo“您已成功注册-立即重定向”; 标题('Refresh:5;URL=../');,php,pdo,Php,Pdo,我相信错误就在这段代码的某个地方 我想我在prepare或execute语句中出错了INSERT需要在列和值列表周围加括号: $encrypt1 = hash('sha512',$password); $encrypt = hash('sha512',$encrypt1); session_start(); $_SESSION['username'] = $user; $_SESSION['password'] = $encrypt; $ip = $_SERVER['REMOTE_ADDR'];

我相信错误就在这段代码的某个地方
我想我在prepare或execute语句中出错了

INSERT
需要在列和值列表周围加括号:

$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=../');
这一行:

$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";

$data1
-编辑:您可以忽略此注释。这将更好地为您服务=>停止假设您的查询永远不会失败。总是假设失败,检查失败,把成功当作惊喜。如果你有基本的最小错误处理,你就会被告知你的SQL语法错误。拉斯维加斯会喜欢作品“1在无限的可能性?让我抵押我的房子”
$data1 = "INSERT INTO users (username, password, email, ip) 
          VALUES (:username,:password,:email,:ip)";