У меня есть некоторые проблемы с моим, если другое заявление, но я не могу понять, что, так как он должен работать :)если существует еще вставить 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 имеют более простой способ сделать это, чем другие. Я прошу, потому что, хотя вы можете сделать это так, как вы показываете выше, это не так безопасно, как все это делается на стороне db. – developerwjk
Я использую Mysql, Если у вас есть другое решение, было бы здорово, если бы вы поделились им со мной :) – Dymond
Ну, может быть, я неправильно понял ваш вопрос. Но если вопрос был на «update if exists, иначе insert», то MySQL имеет синтаксис для [INSERT ... ON DUPLICATE KEY UPDATE] (http://dev.mysql.com/doc/refman/5.0/en/insert -on-duplicate.html) – developerwjk