簡體   English   中英

使用PDO將數據插入數據庫

[英]Inserting data to database using PDO

我嘗試使用PDO制作注冊表格。我得到下一張表格:

<form name="registration" action="registration.php" method="POST">
      <label for 'username'>Username: </label>
            <input type="text" name="userName"/>
      <label for 'password'>Password: </label>
            <input type="password" name="pass"/>
      <label for 'first_name'>First name: </label>
            <input type="text" name="fullName"/>

      <label for 'email'>Email: </label>
            <input type="text" name="email"/>
      <br/>
      <button type="submit">Submit</button>
 </form>

我得到了registration.php文件來連接數據庫並插入值:

    <?php


$user = 'root';
$pass = '8169x5it';
$db = new PDO( 'mysql:host=localhost;dbname=reg_form', $user, $pass );

$form = $_POST;
$usernName = $form[ 'userName' ];
$pass = $form[ 'pass' ];
$fullName = $form[ 'fullName' ];
$email = $form[ 'email' ];


$sql = "INSERT INTO WebsiteUsers ( userName, pass, fullName, email ) VALUES ( :userName, :pass, :fullName, :email )";

$query = $db->prepare( $sql );
$query->execute( array( ':userName'=>$userName, ':pass'=>$pass, ':fullName'=>$fullName, ':email'=>$email ) );
?>

因此,問題是當我將某些文件放入文件名並按Submit按鈕時,我的數據未插入數據庫。 請幫助我,我是PDO和mysql的新手,我不明白這是怎么回事。 提前致謝!

  • 檢查錯誤
  • 刪除不必要的變量
  • 檢查發布變量是否使用isset()設置

try{
    $user = 'root';
    $pass = '8169x5it';
    $db = new PDO( 'mysql:host=localhost;dbname=reg_form', $user, $pass );
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "INSERT INTO WebsiteUsers ( userName, pass, fullName, email ) 
            VALUES ( :userName, :pass, :fullName, :email )";

    if($query = $db->prepare($sql)){
        $query->bindValue(':userName', $_POST['userName']); 
        $query->bindValue(':pass', $_POST['pass']); 
        $query->bindValue(':fullName', $_POST['fullName']); 
        $query->bindValue(':email', $_POST['email']); 
        if($query->execute()){
            echo 'execute() success ';
            echo 'affected rows = '.$stmt->rowCount();
        }else{
            echo 'execute() failed';
        }
    }else{
        echo 'prepare() failed';
    }
}catch(PDOException $e) {
    // Print PDOException message
    echo $e->getMessage();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM