php - I want to insert data to my database but it does not work -
everything seems fine , should work not variables should dont know why not insert data in database code:
<?php date_default_timezone_set("europe/vilnius"); if(isset($_post['priduot'])){ $data =date("y.m.d"); $vardas=$_post[vardas]; $pavarde=$_post[pavarde]; $uzsakymas=$_post[uzsakymas]; $kiekis =$_post[kiekis]; $busena=$_post[busena]; $dbhost = "mysql.hostinger.lt"; $dbname = "u878197685_vehub"; $dbusername = "u878197685_ryzuh"; $dbpassword = "svetaineairida"; $lentele = "uzsakymai"; //the part not work $conn = new pdo("mysql:host=$dbhost;dbname=$dbname",$dbusername,$dbpassword); $statement = $conn->prepare("insert `$lentele ` ( `vardas`, `pavarde`, `uzsakymas`, `kiekis`, `uzsakymobusena`, `uzsakymodata`) values (:vardas, :pavarde, :uzsakymas, :kiekis, :uzsakymobusena, :uzsakymodata)"); $statement->execute(array( "vardas" => $vardas, "pavarde" => $pavarde, "uzsakymas" => $uzsakymas, "kiekis" => $kiekis, "uzsakymobusena" => $busena, "uzsakymodata" => $data //the part not work )); } ?>
reason being, post arrays require quotes.
$vardas=$_post['vardas'];
and same others.
error reporting have triggered notices, you're not checking them.
sidenote:
make sure form have post method method = "post"
, inputs hold "name" attribute.
i.e.:
<input type="text" name="vardas">
etc.
including 1 conditional statement:
if(isset($_post['priduot'])){...}
if related input isn't named, nothing in there execute, after making changes.
use else{ echo "no success"; }
it. if falls in that, have errors somewhere.
error reporting:
add error reporting top of file(s) find errors.
<?php error_reporting(e_all); ini_set('display_errors', 1); // rest of code
sidenote: error reporting should done in staging, , never production.
also add $conn->setattribute(pdo::attr_errmode, pdo::errmode_exception);
right after connection opened, may catch other errors.
references:
Comments
Post a Comment