ilyadenisovid
Мастер
Дата регистрации:
28.01.2013 18:32:29
Сообщений: 213
Здравствуйте! Есть функция добавления записи в БД. Нужно в этой же функции узнать id этой записи. Как это сделать?
<?php
function addTheme($id_theme, $id_user, $title) {
global $mysqli;
connectDB();
$mysqli->query("INSERT INTO `asks` (`id_theme`, `id_user`, `title`, `date`) VALUES ('$id_theme', '$id_user', '$title', UNIX_TIMESTAMP())"
closeDB();
}
?>
den98
Новичок
Дата регистрации:
21.12.2012 09:25:29
Сообщений: 14
Id записи надо передавать как параметр в функцию а при вызове этой функции подставлять значение, например:
http://site.ru?view=article&id=7;
$id_theme= $_GET['id'];
Вызываем функцию:
addTheme($id_theme, $id_user, $title);
Можно также воспользоваться внутри этой функции SQL запросом и вытащить id статьи из базы:
$id_theme = "SELECT `id_theme` FROM `table_name` WHERE .....";
ilyadenisovid
Мастер
Дата регистрации:
28.01.2013 18:32:29
Сообщений: 213
Вы меня не поняли, id - auto_increment, добавляется само, независимо от меня.
den98
Новичок
Дата регистрации:
21.12.2012 09:25:29
Сообщений: 14
Тогда только запросом.
Какие данные еще есть и структуру таблицы посмотреть бы.
ilyadenisovid
Мастер
Дата регистрации:
28.01.2013 18:32:29
Сообщений: 213
В запросе выше все видно.
fabrigas201
Продвинутый
Дата регистрации:
20.01.2012 13:08:31
Сообщений: 59
После инсерта ставите
$last_id = $mysqli->insert_id
http://php.net/manual/ru/mysqli.insert-id.php
$last_id id последней записи. Вам это нужно.
P.S. Избавьтесь от глобальных переменных. Это зло. Все можно обойтись без них. Особенно если используете ООП
ilyadenisovid
Мастер
Дата регистрации:
28.01.2013 18:32:29
Сообщений: 213
а почему это зло?
fabrigas201
Продвинутый
Дата регистрации:
20.01.2012 13:08:31
Сообщений: 59
Это я тоже выразился как-то не правильно. Нет , глобальные переменные есть зло. Но если нет выходя то можно использовать. Вообще из этих переменных ухудшается читаемость кода, переносимость. Так же это считается плохим стилем программирования. Также можно легко потерять данную переменную.
http://phpforum.ru/index.php?showtopic=77121
http://freehabr.ru/qa/222.html
Прочитайте и решите использовать или нет