誰能告訴我我在這裏做錯了什麼? 我是PDO的新手,需要學習如何使用bindValue插入,但是當我點擊提交時,沒有任何東西被添加到我的數據庫中。甚至不顯示錯誤。PDO,PHP和MySQL
任何人都可以舉個例子。 下面是我的代碼:
<!DOCTYPE html>
<html lang="eng">
<head><title>PDO INSERT TEST</title>
<meta http-equiv="CONTENT-TYPE" CONTENT="text/html;charset=utf-8"/>
</head>
<body>
<form action="PDO_test1.php" method="POST">
<p>Name: <input type="text" name="userName" id="Name"/></p>
<p>Last: <input type="text" name="userLast" id="Last"/></p>
<input type="submit" name="submit" value="submit">
</form>
</body>
</html>
<?php
# basic pdo connection (with added option for error handling)
if (isset($_POST['submit'])) {
require_once 'includes/PDO_connect.php';
try {
$dsn = "mysql:host=$servername;dbname=$dbname";
$dbc = new PDO($dsn, $username, $password);
//You can echo out connected to db message
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $dbc->prepare("INSERT INTO `PdoTest1` (userName,userLast,reqistration_date) VALUES (?, ?, ?)");
# If we leave out the third parameters, it is set to
# PDO::PARAM_STRING by default
$query->bindValue(':userName', '%' . $_POST['userName'] . '%');
$query->bindValue(':userLast', '%' . $_POST['userLast'] . '%');
$dbc = null;
}
catch (PDOException $e) {
echo $e->getMessage();
}
//echo "<p>Data submitted successfully</p>";
}
?>
我的語法在數據庫中沒有插入任何內容。我甚至不知道,如果它看起來是有道理的。我沒有得到任何錯誤.. –
你不顯示錯誤gived。但請注意,您不要設置查詢的第三個參數,而且您不會執行查詢'$ query-> execute()'。 – Gonzalo
我很驚訝你沒有從使用錯誤的佔位符中得到錯誤。 '?'和':var'不要混合。以及爲什麼「%」?那就是LIKE語法。 –