php PDO prepare(“INSERT ..(变量)VALUES(?,?,)产生错误需要帮助

时间:2014-03-06 16:10:59

标签: php pdo

$query = $this->link->prepare("INSERT INTO surveys (`username`,`inspected`,
    `comments`,`ip_address`,`date`,`time`)
        VALUES '(?,?,?,?,?,?)';);
$values = array ($username,$inspected,$comments,$ip_address,$date,$time);
var_dump($query);$rowCount = $query->rowCount();
$return $rowCount;

1 个答案:

答案 0 :(得分:1)

您可以根据我为您准备的以下内容。

旁注:我不完全确定您为什么要使用rowCount(),所以我暂时将其删除。

如果您想使用rowCount()检查记录是否存在,请与我们联系。

以下方法可以将数据插入数据库,该数据库基于我使用的方法。

<?php
$dbname = 'xxx';
$username = 'xxx';
$password = 'xxx';

try {
$pdo = new PDO("mysql:host=localhost;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
 exit( $e->getMessage() );
}

$sql = "INSERT INTO surveys (
        username,
        inspected,
        comments,
        ip_address,
        date,
        time
        ) VALUES (
        :username, 
        :inspected, 
        :comments, 
        :ip_address, 
        :date, 
        :time)";

$stmt = $pdo->prepare($sql);

$stmt->bindParam(':username', $_POST['username'], PDO::PARAM_STR);
$stmt->bindParam(':inspected', $_POST['inspected'], PDO::PARAM_STR);
$stmt->bindParam(':comments', $_POST['comments'], PDO::PARAM_STR);

$stmt->bindParam(':ip_address', $_POST['ip_address'], PDO::PARAM_STR);
$stmt->bindParam(':date', $_POST['date'], PDO::PARAM_STR);
$stmt->bindParam(':time', $_POST['time'], PDO::PARAM_STR);

// $stmt->execute(); 
$stmt->execute(array(':username' => $_POST['username'],':inspected' => $_POST['inspected'],':comments' => $_POST['comments'], 
':ip_address' => $_POST['ip_address'],':date' => $_POST['date'],':time' => $_POST['time']));
if($stmt != false) {
    echo "success!";
} else {
    echo "an error occured saving your data!";
}