<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру 2.0

PHP и MySQL с Нуля до Гуру 2.0

Данный курс научит Вас программировать на самом популярном Web-языке в мире - PHP. Курс состоит из 11 разделов, в которых с нуля рассказывается и показывается процесс написания различных скриптов на PHP.

В курсе Вы узнаете всю необходимую теоретическую часть, а также увидите массу практических примеров, в том числе, и из моей практики.

Почти к каждому уроку идут упражнения.

Просмотрев данный курс, Вы сможете создавать абсолютно любые PHP-сайты любой сложности.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Узнать id добавленной статьи
30.10.2013 17:26:52 Узнать id добавленной статьи Сообщение #1
ilyadenisovid

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();
}
?>
Профиль Ответить
30.10.2013 18:11:22 Узнать id добавленной статьи Сообщение #2
den98

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 .....";
Профиль Ответить
30.10.2013 18:19:11 Узнать id добавленной статьи Сообщение #3
ilyadenisovid

ilyadenisovid

Мастер

Мастер

Дата регистрации:
28.01.2013 18:32:29

Сообщений: 213

Вы меня не поняли, id - auto_increment, добавляется само, независимо от меня.
Профиль Ответить
30.10.2013 18:27:26 Узнать id добавленной статьи Сообщение #4
den98

den98

Новичок

Новичок

Дата регистрации:
21.12.2012 09:25:29

Сообщений: 14

Тогда только запросом.
Какие данные еще есть и структуру таблицы посмотреть бы.
Профиль Ответить
30.10.2013 19:04:51 Узнать id добавленной статьи Сообщение #5
ilyadenisovid

ilyadenisovid

Мастер

Мастер

Дата регистрации:
28.01.2013 18:32:29

Сообщений: 213

В запросе выше все видно.
Профиль Ответить
30.10.2013 21:14:24 Узнать id добавленной статьи Сообщение #6
fabrigas201

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. Избавьтесь от глобальных переменных. Это зло. Все можно обойтись без них. Особенно если используете ООП
Профиль Ответить
31.10.2013 05:36:36 Узнать id добавленной статьи Сообщение #7
ilyadenisovid

ilyadenisovid

Мастер

Мастер

Дата регистрации:
28.01.2013 18:32:29

Сообщений: 213

а почему это зло?
Профиль Ответить
01.11.2013 14:29:28 Узнать id добавленной статьи Сообщение #8
fabrigas201

fabrigas201

Продвинутый

Продвинутый

Дата регистрации:
20.01.2012 13:08:31

Сообщений: 59

Это я тоже выразился как-то не правильно. Нет , глобальные переменные есть зло. Но если нет выходя то можно использовать. Вообще из этих переменных ухудшается читаемость кода, переносимость. Так же это считается плохим стилем программирования. Также можно легко потерять данную переменную.


http://phpforum.ru/index.php?showtopic=77121
http://freehabr.ru/qa/222.html

Прочитайте и решите использовать или нет
Профиль Ответить