使用PDO-mysql将值插入数据库

时间:2014-02-26 07:07:20

标签: php database pdo mysqli

当我使用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();

} 

1 个答案:

答案 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 ));

最好的运气......

相关问题