php - validation and data add to a db table -


the questions have asked earlier pdo retrieve data , populate record input mask need validate user input , add has been entered db table , last step.

my mistake can see in below code misinterpret insert into , update set using pdo.

furthermore far concerned insert into use bindparam in order attempt data entry, while update set use execute(array). matter of fact code validates user data input , whether input correct php attempts connect db , should insert or update table. strange part no error returned , no data added

<?php  error_reporting(-1);  ini_set('display_errors', 'on');  ?>  <?php  $servername = "xxx";  $username = "xx";  $password = "xxx";  $dbname = "xxxx";    try {      $dbh = new pdo("mysql:host=$servername;dbname=$dbname", $username, $password);      // set pdo error mode exception      $dbh->setattribute(pdo::attr_errmode, pdo::errmode_exception);  	echo 'connected database<br />';      }  catch(pdoexception $e)      {      echo "connection failed: " . $e->getmessage();      }  	$sth = $dbh->prepare("use accessibilita");  ?>  <?php  switch ($_get['action']) {  case 'add':  switch ($_get['type']) {  case 'tages':      $error = array();      $nome = isset($_post['nome']) ?          trim($_post['nome']) : '';      if (empty($nome)) {          $error[] = urlencode('si prega di inserire un nome.');      }      $cognome = isset($_post['cognome']) ?          trim($_post['cognome']) : '';      if (empty($cognome)) {          $error[] = urlencode('si prega di inserire un cognome.');      }      $indirizzo = isset($_post['indirizzo']) ?          trim($_post['indirizzo']) : '';      if (empty($indirizzo)) {          $error[] = urlencode('si prega di inserire un indirizzo.');      }      $civico = isset($_post['civico']) ?          trim($_post['civico']) : '';      if (empty($civico)) {          $error[] = urlencode('si prega di inserire un numero civico.');      }  	$citta = isset($_post['citta']) ?          trim($_post['citta']) : '';      if (empty($citta)) {          $error[] = urlencode('si prega di inserire una citta valida.');      }      $prov = isset($_post['prov']) ?          trim($_post['prov']) : '';      if (empty($prov)) {          $error[] = urlencode('si prega di inserire una provincia.');      }      if (empty($error)) {          $stmt = $dbh->prepare("insert tagesroma(nome, cognome, indirizzo, civico, citta, prov)              values (:nome, :cognome, :indirizzo, :civico, :citta, :prov)");  			$stmt->bindparam(':nome', $nome);  			$stmt->bindparam(':cognome', $cognome);  			$stmt->bindparam(':indirizzo', $indirizzo);  			$stmt->bindparam(':civico', $civico);  			$stmt->bindparam(':citta', $citta);  			$stmt->bindparam(':prov', $prov);      } else {        header('location:tages.php?action=add' .            '&error=' . join($error, urlencode('<br/>')));      }      break;  }  break;  case 'edit':  switch ($_get['type']) {  case 'tages':      $error = array();      $nome = isset($_post['nome']) ?          trim($_post['nome']) : '';      if (empty($nome)) {          $error[] = urlencode('si prega di inserire un nome.');      }      $cognome = isset($_post['cognome']) ?          trim($_post['cognome']) : '';      if (empty($cognome)) {          $error[] = urlencode('si prega di inserire un cognome.');      }      $indirizzo = isset($_post['indirizzo']) ?          trim($_post['indirizzo']) : '';      if (empty($indirizzo)) {          $error[] = urlencode('si prega di inserire un indirizzo.');      }      $civico = isset($_post['civico']) ?          trim($_post['civico']) : '';      if (empty($civico)) {          $error[] = urlencode('si prega di inserire un numero civico.');      }  	$citta = isset($_post['citta']) ?          trim($_post['citta']) : '';      if (empty($citta)) {          $error[] = urlencode('si prega di inserire una citta valida.');      }      $prov = isset($_post['prov']) ?          trim($_post['prov']) : '';      if (empty($prov)) {          $error[] = urlencode('si prega di inserire una provincia.');      }      if (empty($error)) {       //syntax error correction         $stmt = $dbh->prepare("update tagesroma set nome=?, cognome=?, indirizzo=?, civico=?, citta=?, prov=?)");  	  $stmt->execute(array($nome, $cognome, $indirizzo, $civico, $citta, $prov));	      } else {        header('location:tages.php?action=edit&id=' . $_post['id'] .            '&error=' . join($error, urlencode('<br/>')));      }      break;  }  break;  }  ?>    <html>   <head>    <title>commit</title>    <meta charset="utf-8">   </head>   <body>    <p>done!</p>   </body>  </html>

update/edit:

i did correct update set part still no data added

the problem here never executed insert

add it:

$stmt -> execute(); 

which why no errors return, because there none; "missing" ;-)

reference:


Comments

Popular posts from this blog

yii2 - Yii 2 Running a Cron in the basic template -

asp.net - 'System.Web.HttpContext' does not contain a definition for 'GetOwinContext' Mystery -

mercurial graft feature, can it copy? -