我試圖用一些值插入一個窗體到使用PDO的MySQL數據庫中。用PDO插入的空條目,bindparam失敗
/*** Values for the form ***/
$date = date_create();
$time = date('Y-m-d H:i:s');
$message = $_POST['message'];
$uid = $_SESSION['SESS_MEMBER_ID'];
$admin = 1;
/*** prepare the SQL statement ***/
$stmt = $db->prepare("INSERT INTO messages (message_id, timestamp, uid, admin, read, edited, message) VALUES ('',':time',':uid',':admin','','',':message')");
/*** bind the paramaters ***/
$stmt->bindParam(':time', $time, PDO::PARAM_STR);
$stmt->bindParam(':uid', $uid, PDO::PARAM_STR);
$stmt->bindParam(':admin', $admin, PDO::PARAM_INT, 1);
$stmt->bindParam(':message', $message, PDO::PARAM_STR);
/*** execute the prepared statement ***/
$stmt->execute();
結果是:
只用MESSAGE_ID集和消息仍然與它的佔位符空項:mesagge
(message_id, timestamp, uid, admin, read, edited, message)
15 | 0000-00-00 00:00:00 | 0 | 0 | 0 | 0 |:bericht
有什麼不對的佔位符或INSERT查詢?
你不需要在你的SQL中引用參數 - ':time'就是你需要的。 '':time''將包含':time'的字符串作爲值傳遞給數據庫,而不是創建佔位符 – andrewsi
@andrewsi爲什麼不將它作爲答案發布? –