PHP值不会进入数据库

时间:2017-05-25 09:35:45

标签: php mysqli insert

session_start();
include('dbconn.php');
  if(isset($_POST['registerform']) || isset($_POST['loginform'])) {

    if(isset($_POST['registerform']) && $_POST['registerform']){
      //register

      if(isset($_POST['username']) && !empty($_POST['username'])
      && isset($_POST['password']) && !empty($_POST['password'])
      && isset($_POST['fname']) && !empty($_POST['fname'])
      && isset($_POST['lname']) && !empty($_POST['lname'])
      && isset($_POST['email']) && !empty($_POST['email'])){
        //ean einai gemata me kati ta paidia

        $myName=trim($_POST['username']);
        $myPass= md5(trim($_POST['password']));
        $fName=trim($_POST['fname']);
        $lName=trim($_POST['lname']);
        $eMail=trim($_POST['email']);


        if($stmt = $mysqli->prepare("INSTERT INTO users(username,password,fname,lname,email) VALUES (?, ?, ?, ?, ?)")) {


            $stmt->bind_param('sssss',$name,$pass,$fname,$lname,$email);

            $name = $myName;
            $pass = $myPass;
            $fname = $fName;
            $lname = $lName;
            $email = $eMail;

            $stmt-> execute();
            $stmt-> close();



        }

      }
    }


      }else{
        echo "no form submited";
      }

这是数据库连接

<?php

$host = "localhost";
$username = "root";
$password = "";
$db_name = "phpwebsite";


$mysqli = new mysqli("$host","$username","$password","$db_name");
// Check connection
if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

?>

我认为问题是插入声明,因为其他一切似乎都运行正常。当我按下注册按钮时,不会出现错误。唯一的事情是值不会进入数据库

1 个答案:

答案 0 :(得分:-1)

错误在您的SQL查询中我认为它的类型为 INSTERT

if($stmt = $mysqli->prepare("INSTERT INTO users(username,password,fname,lname,email) VALUES (?, ?, ?, ?, ?)"))

尝试将其更正为

if($stmt = $mysqli->prepare("INSERT INTO users(username,password,fname,lname,email) VALUES (?, ?, ?, ?, ?)"))    

编辑:

第二期:

try {   $stmt = $mysqli->prepare("INSERT INTO users(username,password,fname,lname,email) VALUES (?, ?, ?, ?, ?)")

    $stmt->bind_param('sssss',$name,
                      $pass,$fname,
                      $lname,$email);

     $name = $myName;
     $pass = $myPass;
     $fname = $fName;
     $lname = $lName;
     $email = $eMail;

     $stmt-> execute();
     $stmt-> close();

}
catch (PDOException $ex) {
    // For testing, you could use a die and message. 
    die("Failed to run query: " . $ex->getMessage());



  }