Can't insert my data : PHP/MYSQL on Cloud9 -
i'm on cloud9 school project , trying test mysql query doesn't have new line in phpmyadmin code.
when try html form have "connection succefullyfoo", "bar" isn't echoed; wrong?
<?php //on se connecte à la base $servername = getenv('ip'); $username = getenv('c9_user'); $password = ""; $database = "projetphp"; $dbport = 3306; // create connection $bdd = new mysqli($servername, $username, $password, $database, $dbport); // check connection if ($bdd->connect_error) {die("connection failed ".$bdd->connect_error);} echo "connected (".$bdd->host_info.")"; $pseudonyme = $_post['pseudo']; $mot_de_passe = $_post['mdp']; $confirm_mdp = $_post['confirm_mdp']; $email = $_post['email']; if ($mot_de_passe == $confirm_mdp) { //on crypte le mot de passe $mot_de_passe = sha1($mdp); echo "foo"; $req = $bdd->prepare('insert membres(pseudonyme, mot_de_passe, email, date_inscription) values(:pseudonyme, :mot_de_passe, :email, curdate())' $req->execute(array( ':pseudonyme' => $pseudonyme, ':mot_de_passe' => $mot_de_passe, ':email' => $email)) echo "bar"; } ?>
placing array in ->execute( [array()] ) pdo method.
in mysqli ->execute( void ) not accept parameters.
you need use mysqli_stmt::bind_param before -execute()
try changing code
$req = $bdd->prepare('insert membres(pseudonyme, mot_de_passe, email, date_inscription) values(?, ?, ?, curdate())'); $req->bind_param("sss", $pseudonyme, $mot_de_passe, $email); $req->execute();
Comments
Post a Comment