我的PDO插入有問題。無效的參數號:參數未定義PDO插入語句
error_reporting(E_ALL);
error_reporting(-1);
include "../includes/php/db.php";
$name = htmlentities($_POST['name']);
$stadt = htmlentities($_POST['stadt']);
$postleitzahl = htmlentities($_POST['postleitzahl']);
$strasse = htmlentities($_POST['straße']);
$hausnummer = htmlentities($_POST['hausnummer']);
$created_at = date("Y-m-d H:i:s");
$updated_at = date("Y-m-d H:i:s");
$stmt = $dbh->prepare('INSERT INTO kundens (name, stadt, postleitzahl, straße, hausnummer, created_at, updated_at)VALUES(:name, :stadt, :postleitzahl, :strasse, :hausnummer, :created_at, :updated_at)');
var_dump($name, $stadt, $postleitzahl, $strasse, $hausnummer, $created_at, $updated_at);
try {
$stmt->execute(array($name, $stadt, $postleitzahl, $strasse, $hausnummer, $created_at, $updated_at));
}
catch (PDOException $e) {
echo 'Insert Error: ' . $e->getMessage() . "\n";
}
我找不到我的問題。
的DB是這樣的:
# Name Typ Kollation Attribute Null Standard Kommentare Extra
1 idPrimärschlüssel int(10) UNSIGNED Nein kein(e) AUTO_INCREMENT
2 name varchar(255) utf8mb4_unicode_ci Nein kein(e)
3 stadt varchar(255) utf8mb4_unicode_ci Nein kein(e)
4 postleitzahl int(11) Nein kein(e)
5 straße varchar(255) utf8mb4_unicode_ci Nein kein(e)
6 hausnummer int(11) Nein kein(e)
7 created_at timestamp Ja NULL
8 updated_at timestamp Ja NULL
如果您不使用帶有bindParam()的名稱,最好使用'?'而不是命名參數':abc'。 http://php.net/manual/en/pdostatement.bindparam.php – JustOnUnderMillions
我想這個可以擺動任何一種方式 –