【问题标题】:Can't insert my data : PHP/MYSQL on Cloud9无法插入我的数据:Cloud9 上的 PHP/MYSQL
【发布时间】:2015-05-30 16:41:07
【问题描述】:

我在 cloud9 上的一个学校项目,我正在尝试测试一些 MySQL 查询,但它在 phpMyAdmin 中没有使用此代码的新行。

当我尝试使用 HTML 表单时,我有“Connection succefullyFOO”,“BAR”没有回显;我做错了什么?

<?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 successfully (".$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 INTO 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";
}
?>

【问题讨论】:

  • 请说明会发生什么错误

标签: php mysql phpmyadmin cloud9-ide


【解决方案1】:

-&gt;execute( [array()] ) 中放置一个数组是PDO 方法。

mysqli 中是-&gt;execute( void ),它不接受参数。

您需要在-execute() 之前使用mysqli_stmt::bind_param

尝试将您的代码更改为

$req = $bdd->prepare('INSERT INTO membres(pseudonyme, mot_de_passe, email, date_inscription) VALUES(?, ?, ?, CURDATE())');
$req->bind_param("sss", $pseudonyme, $mot_de_passe, $email);
$req->execute();

【讨论】:

  • 很高兴为您提供帮助。确保将其标记为已回答以关闭问题。
猜你喜欢
  • 1970-01-01
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-08
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多