PDO插入数据

时间:2015-12-28 11:32:46

标签: php mysql pdo

我是PDO的新手,我没有什么问题。代码没有在我的数据库中插入任何数据,不知道为什么。绑定还是其他什么问题?

        node->setParent(smgr->getRootSceneNode());

2 个答案:

答案 0 :(得分:2)

使用try - catch块来存储您的PHP代码,如下所示:http://php.net/manual/en/pdo.error-handling.php然后您将获得有关错误的所有信息。

Eidt:在这里:PDO error message?是类似的问题和另一个灵魂。

答案 1 :(得分:1)

首先,您应该将PHP块放在 IF 语句中,以检查表单是否已被提交或用户是否只是打开页面:

<?php
if(isset($_POST['submit'])){
$dsn = 'mysql:host=localhost;dbname=tabelaDB';
$username = 'root';
$password = 'pass';

$db = new PDO($dsn, $username, $password);

$name = $_POST['data_name'];
$mail = $_POST['data_mail'];
$city = $_POST['data_city'];

$sql = $db->prepare( "INSERT INTO data ( data_name, data_mail, data_city ) VALUES ( :data_name, :data_mail, :data_city )");

$sql->bindValue(':data_name', $name);
$sql->bindValue(':data_mail', $mail);
$sql->bindValue(':data_city', $city);

$sql->execute();
}
?>

要在准备之前检查错误,请执行以下操作:

$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING );

然后添加

print_r($db->errorInfo());