我是新的PDO,我試圖插入數據到表中。PHP PDO插入數據
這是我的表:
CREATE TABLE `Message` (
`ID` INT(8) NOT NULL AUTO_INCREMENT ,
`DateTime` DATETIME NOT NULL ,
`SmsSid` VARCHAR(34) NOT NULL ,
`AccountSid` VARCHAR(34) NOT NULL ,
`From` VARCHAR(12) NOT NULL ,
`To` VARCHAR(12) NOT NULL ,
`Body` VARCHAR(160) NOT NULL ,
`FromCity` VARCHAR(50) NULL ,
`FromState` VARCHAR(50) NULL ,
`FromZip` VARCHAR(50) NULL ,
`FromCountry` VARCHAR(50) NULL ,
`ToCity` VARCHAR(50) NULL ,
`ToState` VARCHAR(50) NULL ,
`ToZip` VARCHAR(50) NULL ,
`ToCountry` VARCHAR(50) NULL ,
`ConversationNumber` INT(4) NOT NULL ,
PRIMARY KEY ( `ID`)
) ENGINE = MYISAM
這就是我想要插入到表中的PHP代碼。什麼是做這個插入語句的正確方法? prepare()query()exec()?
我能夠通過使用這個類似的代碼插入到一個不太複雜的表中,但不是上面這個。我不確定究竟是什麼導致了問題,語法,列類型,自動增量,日期時間?有沒有這張表,我不處理正確的插入查詢?另外,我是否正確處理異常/錯誤處理以查看我需要幫助調試的正確錯誤消息?
<?php
try
{
$connectionString = new PDO("mysql:host=xxxx;dbname=xxxx;","xxxx","xxxx");
}
catch(PDOException $e)
{
echo 'Connection failed'.$e->getMessage();
}
$DateTime = "NOW()";
$SmsSid = "abcdef";
$AccountSid = "abcdef";
$FromWho = "abcdef";
$To = "abcdef";
$Body = "abcdef";
$FromCity = "abcdef";
$FromState = "abcdef";
$FromZip = "abcdef";
$FromCountry = "abcdef";
$ToCity = "abcdef";
$ToState = "abcdef";
$ToZip = "abcdef";
$ToCountry = "abcdef";
$ConversationNumber = "abcdef";
try
{
$executeQuery = $connectionString->prepare("INSERT INTO Message (SmsSid,AccountSid,`From`,To,Body,FromCity,FromState,FromZip,FromCountry,ToCity,ToState,ToZip,ToCountry,ConversationNumber) VALUES (:SmsSid,:AccountSid,:FromWho,:To,:Body,:FromCity,:FromState,:FromZip,:FromCountry,:ToCity,:ToState,:ToZip,:ToCountry,:ConversationNumber)");
$executeQuery->execute(array(':SmsSid'=>$SmsSid,':AccountSid'=>$AccountSid,':FromWho'=>$FromWho,':To'=>$To,':Body'=>$Body,':FromCity'=>$FromCity,':FromState'=>$FromState,':FromZip'=>$FromZip,':FromCountry'=>$FromCountry,':ToCity'=>$ToCity,':ToState'=>$ToState,':ToZip'=>$ToZip,':ToCountry'=>$ToCountry,':ConversationNumber'=>$ConversationNumber));
}
catch(PDOException $e)
{
echo 'Query failed'.$e->getMessage();
}
$connectionString = null;
?>
您是否收到任何錯誤?順便說一句,我假設所有這些佔位符都是變量,爲什麼你不附加一個$給他們? 此外,如果您知道佔位符(列字段)的順序,那麼您可以使用問號語法,而不是混亂。 – silkfire 2013-02-24 23:51:47
請不要包含「非常感謝幫助。」在你的問題。這是無用的噪音。 – Doorknob 2013-02-24 23:52:23
@Doorknob在我的回答經驗中,很少有人讚賞 – 2013-02-24 23:54:22