forms - PHP PDO unable to insert the data in MySQL DB -


i learning php.using xampplocal server test. need below when enter details , click register in form, see blank page action.php link. code action.php below:

include 'config.php';             error_reporting(e_all);             ini_set('display_errors', 1);             if(isset($_post['register'])){                 require 'config.php';                 $first_name = !empty($_post['fname']) ? trim($_post['fname']) : null;                 $last_name = !empty($_post['lname']) ? trim($_post['lname']) : null;                 $user_name = !empty($_post['uname']) ? trim($_post['uname']) : null;                 $pass = !empty($_post['upass']) ? trim($_post['upass']) : null;                 $user_email = !empty($_post['umail']) ? trim($_post['umail']) : null;                 $sql = "insert ams_users (id, firstname, lastname, username, password, email)                                        values(?,?,?,?,?)";                 $stmt = $pdo->prepare($sql);                  $result = $stmt->execute(0,$first_name, $last_name, $user_name, $pass, $user_email);                 if($result){                     echo 'thank registering';                 }else{                     echo 'sorry';                     }                 }enter code here 

code register.php form below:

<div class="reg-form">         <h1>register</h1>         <form action="action.php" method="post">             <p><label>first name* :</label>              <input id="firstname" type="text" name="fname" /></p>             <p><label>last name* :</label>              <input id="lasttname" type="text" name="lname" /></p>              <p><label>user name* : </label>             <input id="username" type="text" name="uname" /></p>               <p><label>password: </label>              <input id="password" type="password" name="upass" /></p>              <p><label>e-mail: </label>              <input id="e-mail" type="e-mail" name="umail"/></p>              <input type="submit" name="submit" value="register" />             </form>         </div> 

mysql table has 5 entries: id (autoincrement, firstname, lastname,username,password, , email.

please going wrong. 

  • execute() takes array of parameters not directly did.
  • you have less question marks parameter
  • if make id autoincremented can omit query

so becomes:

insert ams_users (firstname, lastname, username, password, email)  values(?,?,?,?,?) 

then execute:

$result = $stmt->execute(array($first_name,                                 $last_name,                                 $user_name,                                 $pass,                                 $user_email)                  ); 

or:

insert ams_users (id,firstname, lastname, username, password, email)  values('',?,?,?,?,?) 

the problem should have gotten error, make sure turned on:

$pdo->setattribute(pdo::attr_errmode, pdo::errmode_exception); 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -

How to provide Authorization & Authentication using Asp.net, C#? -