我有一些问题,我如果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