我问了一个有关 PDO 错误的问题(here https://stackoverflow.com/questions/25135353/i-dont-understand-why-ive-statementexecute-error/25135509?noredirect=1#comment39126697_25135509但我还有一个关于对象的问题......
这是我的代码:
include('../../config/connexion-bdd.php');
$nom = $_POST['nom'];
$regexNom = '/^[a-zA-Z -]+$/';
$prenom = $_POST['prenom'];
$regexPrenom = '/^[a-zA-Z -]+$/';
$email = $_POST['email'];
$regexEmail = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/';
$identifiant = $_POST['identifiant'];
$regexIdentifiant = '/^[a-z1-9]+$/';
$motDePasse = $_POST['motDePasse'];
$confirmeMotDePasse = $_POST['ConfirmeMotDePasse'];
$regexMdp = '/^[a-zA-Z1-9]+$/';
$utilisateurConnecte = $_POST['utilisateur-connecte'];
if (preg_match($regexNom, $nom) &&
preg_match($regexPrenom, $prenom) &&
preg_match($regexEmail, $email) &&
preg_match($regexIdentifiant, $identifiant) &&
preg_match($regexMdp, $motDePasse) &&
preg_match($regexMdp, $confirmeMotDePasse) &&
$motDePasse == $confirmeMotDePasse)
{
$stmt = $bdd->prepare('SELECT COUNT(*) FROM utilisateurs WHERE identifiant = ?');
$stmt->execute(array($_POST['identifiant']));
if ($stmt->fetchColumn() == 0){
$updt=$connect->prepare("INSERT INTO utilisateurs('nom','prenom','email','identifiant','mot_de_passe') VALUES (:nom, :prenom, :email, :identifiant, MD5(:mdp))");
$updt->execute(array('nom'=>$nom,'prenom'=>$prenom,'email'=>$email,'identifiant'=>$identifiant,'mdp'=>$motDePasse));
header('./gestion-utilisateur.php');
} else {
echo 'error 1';
}
} else {
echo 'error 2';
}
因此我对这一行有这个错误$stmt = $bdd->prepare('SELECT COUNT(*) FROM utilisateurs WHERE identifiant = ?');
:
致命错误:在...中的非对象上调用成员函数prepare()
你能帮助我吗?