|
|
PHP Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$pdoparams = array( ':paket' => $_GET['pakage'], ':anrede' => $_POST['anrede'], ':name' => $_POST['name'], ':adresse' => $_POST['adresse'], ':ort' => $_POST['plz'] . ' ' . $_POST['ort'], ':phone' => $_POST['phone'], ':email' => $_POST['email'], ); $sql = 'INSERT INTO ' . KUNDEN . ' (paket, anrede, name, adresse, ort, phone, email) VALUES (:paket, :anrede, :name, :adresse, :ort, :phone, :email)'; $stmt = MyDB::getInstance()->prepare($sql); $stmt->execute($pdoparams); // AUsgabe der letzten Kunden ID $Kunden_ID = MyDB::getInstance()->lastInsertId(); |
Und was genau ist der Fehler? Dass der zurückgegebene Wert nicht mit dem Wert in der Datenbank übereinstimmt - oder dass dir der Wert allgemein nicht gefällt, weil es nicht die nächst höhere Zahl ist.
|
|
SQL Code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
CREATE TABLE IF NOT EXISTS `kunden` ( `id` mediumint(8) NOT NULL AUTO_INCREMENT, `anrede` text collate utf8_bin, `name` text collate utf8_bin, `adresse` text collate utf8_bin, `ort` text collate utf8_bin, `phone` text collate utf8_bin, `email` text collate utf8_bin, `activ` int(11) NOT NULL, `cookie_key` text collate utf8_bin, `login_date` int(11) NOT NULL, `pass` text collate utf8_bin, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=90 ; |
Wenn du auf deiner Tabelle ein OPTIMIZE TABLE durchführst, dann werden alte IDs wieder neu vergeben.
|
|
PHP Quellcode |
1 2 3 4 5 6 7 8 |
$sql = "SELECT COUNT(id) FROM " . KUNDEN; $stmt = MyDB::getInstance()->prepare($sql); $stmt->execute(); $k_row = $stmt->fetch(); $Smarty->assign(array( 'IN_KUNDEN' => $k_row['COUNT(id)'], )); |
This post has been edited 2 times, last edit by "Fragz" (Jul 23rd 2010, 12:29pm)
|
|
PHP Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
<?php require_once 'MyDB.php'; $sql = 'DROP TABLE IF EXISTS kunden'; $stmt = MyDB::getInstance()->prepare($sql); $stmt->execute($pdoparams); $sql = 'CREATE TABLE IF NOT EXISTS `kunden` ( `id` mediumint(8) NOT NULL AUTO_INCREMENT, `anrede` text collate utf8_bin, `paket` text collate utf8_bin, `name` text collate utf8_bin, `adresse` text collate utf8_bin, `ort` text collate utf8_bin, `phone` text collate utf8_bin, `email` text collate utf8_bin, `activ` int(11) NOT NULL, `cookie_key` text collate utf8_bin, `login_date` int(11) NOT NULL, `pass` text collate utf8_bin, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=90'; $stmt = MyDB::getInstance()->prepare($sql); $stmt->execute($pdoparams); $pdoparams = array( ':paket' => $_GET['pakage'], ':anrede' => $_POST['anrede'], ':name' => $_POST['name'], ':adresse' => $_POST['adresse'], ':ort' => $_POST['plz'] . ' ' . $_POST['ort'], ':phone' => $_POST['phone'], ':email' => $_POST['email'], ); $sql = 'INSERT INTO kunden ( paket, anrede, name, adresse, ort, phone, email) VALUES (:paket, :anrede, :name, :adresse, :ort, :phone, :email)'; $stmt = MyDB::getInstance()->prepare($sql); $stmt->execute($pdoparams); $Kunden_ID = MyDB::getInstance()->lastInsertId(); if($Kunden_ID != 90) throw new Exception('kunden id ist '.$Kunden_ID); $stmt->execute($pdoparams); $Kunden_ID = MyDB::getInstance()->lastInsertId(); if($Kunden_ID != 91) throw new Exception('kunden id ist '.$Kunden_ID); echo "success"; |