【发布时间】:2011-10-02 10:50:02
【问题描述】:
我创建了一个简单的 mySQL 数据库,并尝试使用 PHP 将一些测试数据插入其中。当我在 Firefox 上运行该方法时,我收到以下消息,但我无法解决此问题:
警告:PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: 参数号无效:
我将样本插入数据库的方法是:
public function confirmInsert(){
$admin="admin";
$pass="12345v";
$mail="admin@example.com";
$insertSQL = "INSERT INTO 'users' ('user_name', 'user_pass, 'user_email')
VALUES (
:admin,
:pass,
:mail)";
try {
$stmt = $this->db->prepare($insertSQL);
$stmt ->bindParam(':user_name',$admin, PDO::PARAM_STR);
$stmt ->bindParam(':user_pass', $pass, PDO::PARAM_STR);
$stmt->bindParam(':user_email', $mail,PDO::PARAM_STR);
$stmt->execute();
$stmt->closeCursor();
return TRUE;
} catch (Exception $e) {
$e -> getMessage();
}
}
我在 //localhost 上运行,并使用 apache 2.2 和 php 5.2.17。谢谢!!
【问题讨论】:
-
你有一个无与伦比的开头单引号:
'user_pass -
@icktoofay:甚至更多 - 根本不应该有单引号,而是反引号(或什么都没有)
标签: php mysql database insert pdo