$db1 = new PDO('mysql:host=localhost;
dbname=jbdb;
charset=utf8', 'myname', 'nicetrylol');
//echo $_POST["username"]; test works
$username = $_POST["username"];
$password = $_POST["password"];
$password1 = $_POST["password1"];
$email = $_POST["email"];
if ($password == $password1){
$doit = "INSERT INTO 'users'('username', 'password', 'email')
VALUES
(:username, :password, :email)";
$query = $db1->prepare( $doit );
$query->execute( array( ':username'=>$username, ':password'=>$password, ':email'=>$email ) );
echo "The passwords match.";
}
测试表单时没有错误,我收到了正确的回音,但是当我运行"从用户中选择*时;"在mysql控制台中,它返回一个空集。我的代码中是否存在语法错误?
我意识到我的代码未经过适当验证。这只是一个测试案例,因为我学习了PDO语法。我在Windows机器上使用统一服务器运行php 5.5。表中有四列,id设置为自动递增。
答案 0 :(得分:2)
不要将表名或列包装在引号中:
$doit = "INSERT INTO users (username, password, email)