当我使用PDO-mysql对数据库执行my,mysql查询时,它不会插入值。我正在关注文档但仍然没有取得任何进展。
所以我的.sql文件是这个
CREATE DATABASE IF NOT EXISTS `qr_db`;
CREATE TABLE IF NOT EXISTS `qr_db`.`clients` (
`id` int(11) NOT NULL auto_increment,
`first_name` varchar(100) NOT NULL,
`last_name` varchar(100) NOT NULL,
`key` char(128) NOT NULL,
PRIMARY KEY(`id`),
UNIQUE KEY `key` (`key`)
) ENGINE=MyISAM;
grant select, insert, update, delete
on qr_db.*
to qr_db@localhost identified by 'password';
这是我遇到问题的代码
if(!isset($_GET['key'])) {
$mysql = db_connect(); // <--- this is ok i already checked this
$query = 'INSERT INTO `clients` (`first_name`, `last_name`, `hash`) VALUES (?, ?, ?)';
$stmt = $mysql->prepare($query);
$stmt->bindParam(1, $f_name, PDO::PARAM_STR);
$stmt->bindParam(2, $l_name, PDO::PARAM_STR);
$stmt->bindParam(3, $dubhash, PDO::PARAM_STR);
$stmt->execute();
}
答案 0 :(得分:-1)
如果您与数据库连接,请首先检查您的连接,然后使用以下代码 插入记录
将列名中的哈希值更改为键。这是创建问题,因为表没有任何名为hash的列
$sql = "INSERT INTO clients (first_name, last_name, key) VALUES (:fname, :lname, :hashval)";
$q = $mysql->prepare($sql);
$q->execute(array(':fname'=>$f_name,
':lname'=>$lname,
':hashval'=>$hash ));
最好的运气......