ВСТАВИТЬ новую строку и MKDIR с именем вставленного идентификатора строки

0

На странице должно быть ВСТАВИТЬ строку и СДЕЛАТЬ каталог с именем идентификатора этой строки, когда пользователь нажимает кнопку загрузки, будет ли этот script работать?, что может пойти не так?

(при нажатии кнопки загрузки)
//вставить новую строку
$ Запроса = "INSERT INTO фотоальбом (userid) ЦЕННОСТИ ($ Идентификатор_пользователя)";
mysql_query ($ запроса);

//получить идентификатор этой строки, чтобы сделать каталог с этим именем
$ GetId = "SELECT id FROM photoalbum WHERE userid = $userid order by id desc limit 1";
$ Результат = mysql_query ($ GetId);
$ Thename = mysql_results ($ результат, 0, "идентификатор" );
MKDIR ( 'userimages/$/Идентификатор_пользователя фотоальбомов /$thename');

{script, которые загружают файлы в новую папку}

Безопасно ли INSERT и SELECT строку, которую я только что вставил на ту же страницу, сразу после того, как вставка была сделана? Я думал, что если запрос SELECT не будет выбирать строку, которую я только что вставил, а вместо предыдущей строки, потому что INSERT не достаточно быстрый, и запрос SELECT получает предыдущую строку. Это возможный сценарий?

Теги:
mkdir

1 ответ

0
Лучший ответ

Почему бы не использовать mysql_insert_id()?

Что касается вашего вопроса, если вставка прошла успешно, тогда нет проблем с выполнением выбора даже миллисекунды после вставки.

Я только что заметил еще одну проблему:

mkdir('userimages/$userid/photoalbums/$thename');

Из-за одинарных кавычек переменные $userid и $thename будут использоваться буквально, поэтому вместо этого используйте двойные кавычки, такие как:

mkdir("userimages/$userid/photoalbums/$thename");
  • 0
    я понятия не имел, что mysql_insert_id существует, я довольно плохо знаком с php. Спасибо
  • 0
    Да, это очень удобно иметь, это полностью избавит вас от необходимости выбора запроса.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню