Как избежать дубликатов вставки SQL, используя uploadify для загрузки нескольких изображений

Я пытаюсь загрузить несколько jpgs с помощью uploadifive / uploadify.
В моем файле uploadify.php я:

1) Выполнение запроса для проверки текущего фотоид и увеличение на единицу для назначения нового идентификатора фотографии:

        $qry="SELECT * FROM tblphotos ORDER BY photoid DESC LIMIT 1";
$result=mysql_query($qry);

$row = mysql_fetch_array($result);
if($row['photoid'] == '')
{
$photoid = 1;
}
else{
$photoid = $row['photoid'] + 1;
}

2) Выполнение запроса для проверки текущего порядка сортировки (идентификатора сортировки) фотографии и назначение нового идентификатора сортировки на основе предыдущей записи:

$qry="SELECT * FROM tblphotos WHERE elementid = $workid
and phototype ='work' ORDER BY sortorder DESC LIMIT 1;";

$result=mysql_query($qry);

$row = mysql_fetch_array($result);
$sortorder = $row['sortorder'];
if($row['sortorder'] == '')
{
$sortorder = 1;
}
else{
$sortorder = $row['sortorder'] + 1;
}

3) Наконец, после получения нового идентификатора фотографии и идентификатора сортировки я делаю вставку sql для сохранения информации о фотографии в базе данных:

mysql_query("INSERT INTO tblphotos (photoid, elementid, photoname, sortorder, phototype)
VALUES ($photoid, $workid, '$new_file_name', $sortorder, 'work');");

Моя проблема в том, что в базе данных фотоид и сортид дублируются случайным образом для некоторых фотографий / изображений. Там должно быть одна вставка для одного изображения. Это как если бы uploadify запускает два запроса / вставки одновременно, так как загружает несколько фотографий и таким образом дублирует вставку sql. Пожалуйста помоги. (Я не использовал автоинкремент для идентификаторов в базе данных, потому что я использую несколько типов фотографий).

0

Решение

Чтобы избежать дубликатов, вы можете использовать REPLACE INTO или же INSERT IGNORE вместо INSERT

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]