我的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
我想这个可以摆动任何一种方式 –