我有一些問題,我如果else語句,但我不能想出什麼,因爲它應該工作:)是否存在其他插入PHP
什麼即時試圖做的是,如果VIDEO_TITLE已經存在我的行然後什麼都不做, ,但如果video_title不存在,則向表中插入值。
我有值marvel.mp4在我的VIDEO_TITLE列, 但它仍然保持在插入marvel.mp4作爲新行值...
任何想法,爲什麼它不工作?
$query = $dbh->query("SELECT video_title FROM video");
$q = $query->fetch(PDO::FETCH_OBJ);
$video_title = "marvel.mp4";
if($video_title ==$q){
// Do Nothing
}else{
$sql = "INSERT INTO video (video_title, video_cat, video_date) VALUES (:video_title, :video_cat, NOW())";
$query = $dbh->prepare($sql);
$query->execute(array(
':video_title' => $video_title,
':video_cat' => $video_cat
));
}
你用什麼SQL服務器?有些rdbms比其他的更簡單。我這樣問,因爲雖然你可以做到像上面展示的那樣,但它並不像在數據庫一邊做的那樣安全。 – developerwjk 2014-11-20 23:19:35
我正在使用Mysql, 如果您有其他解決方案,如果您與我分享它,那將是非常棒的:) – Dymond 2014-11-20 23:49:57
嗯,也許我誤解了您的問題。但如果問題是「如果存在更新,否則插入」,那麼MySQL有[INSERT ... ON DUPLICATE KEY UPDATE]的語法(http://dev.mysql.com/doc/refman/5.0/en/insert -on-duplicate.html) – developerwjk 2014-11-21 00:05:48