1
我有下面的MySQL插入語句,代碼運行,並且PDO不報告任何錯誤消息,但是第一條語句不會將數據保存到數據庫(沒有新的排在地址表中),而第二次發射罰款。PDO MYSQL插入語句不工作(沒有錯誤給出)
$sql=$dbh->prepare("INSERT INTO `Address` (`ID`, `Street`, `Street2`, `Town`, `County`, `Postcode`) VALUES (NULL, ?,?,?,?,?)");
$sql->execute(array($_POST['street'], $_POST['street2'], $_POST['town'], $_POST['county'], $_POST['postcode']));
$addressID = $dbh->lastInsertId();
$firmSQL = $dbh->prepare("INSERT INTO TaxiFirm (Name, LogoURL, AddressID, Phone, Email, LicenseExpiry, ContractDate, Active) VALUES (?, ?, ?, ?, ?, ?, ?, 1)");
$firmSQL->execute(array($_POST['name'], $_POST['url'], $addressID, $_POST['phone'], $_POST['email'], $_POST['license'], $_POST['contract']));
的地址表中的SQL:
CREATE TABLE `Address` (
`ID` int(11) NOT NULL,
`Street` varchar(100) NOT NULL,
`Street2` varchar(100) NOT NULL,
`Town` varchar(100) NOT NULL,
`County` varchar(100) NOT NULL,
`Postcode` varchar(20) NOT NULL
)
ALTER TABLE `Address` MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
ALTER TABLE `Address`
ADD PRIMARY KEY (`ID`);
的DESCRIBE Address;
ID int(11) NO PRI auto_increment
Street varchar(100) NO
Street2 varchar(100) NO
Town varchar(100) NO
County varchar(100) NO
Postcode varchar(20) NO
我看不出什麼毛病的代碼,結果呢?
謝謝,實際上我遺漏了一些SQL,ID設置爲auto_incremenet,請參閱更新 –
你沒有得到像「[Err] 1075 - 錯誤表定義的錯誤;只能有一個自動列,它必須被定義爲一個鍵「? – Philipp
不可以,因爲我錯過了更多的sql,再次更新,這次它的編程 –