-3
我正在重建我的當前腳本以支持PDO而不是MySQL查詢。我被困在這個插入查詢,但它不執行,我不知道爲什麼。PDO插入查詢不起作用
Google'd有點但找不到任何東西。
try
{
$sql = "INSERT INTO
news (news_name,
news_description,
news_author,
news_date,
news_link,
news_category)
VALUES ('" . trim($_POST['news_name']) . "',
'" . trim($_POST['news_description']) . "',
" . $_SESSION['admin_id'] . ",
NOW(),
'" . trim($_POST['news_link']) . "',
'" . trim($_POST['news_category']) . "'
)";
$results = $db->exec($sql);
$id = $db->lastInsertId();
if($results)
{
echo $id;
echo '<p>News item added succesfully</p>';
echo '<a href="admin.php">Click here to return to the admin panel</a>';
}
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
?>
不要將值連接到查詢中。閱讀doco和['PDO :: prepare'](http://php.net/manual/pdo.prepare.php),['PDOStatement :: bindParam'](http://php.net/manual /pdostatement.bindparam.php)/ ['PDOStatement :: bindValue'](http://php.net/manual/pdostatement.bindvalue.php)和['PDOStatement :: execute'](http://php.net /manual/pdostatement.execute.php) – Phil
此外,如果您希望它拋出異常,則需要將PDO :: ATTR_ERRMODE屬性設置爲「PDO :: ERRMODE_EXCEPTION」。參見['PDO :: setAttribute'](http://php.net/manual/pdo.setattribute.php) – Phil