dalv_happy
@dalv_happy

Вставка данных в таблицу mysql php ООП методом?

Добрый день. Раньше вставку в бд осуществлял с помощью устаревшего метода:
$query = mysql_query("INSERT INTO users VALUES ('','$login', '$password', '$name', '$lastname', '$e_mail', '$avatar', '$new_field')");


Теперь пользуюсь ООП методом и поиск информации в бд выглядит следующим образом:
$id = $_GET['category'];
$result_set = $mysqli->query('SELECT * FROM category WHERE id='.$id.'');
while ($row = $result_set->fetch_assoc()) {
    $title = $row['name'].' — Решебник онлайн';
    $title_name = $row['name'];
}

$result_set->close();
$mysqli->close();


Но как вставить информацию в бд, используя тот же метод, что и при поиске? Хочу циклом заполнить бд
  • Вопрос задан
  • 873 просмотра
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
От того, что Вы изменили библиотеку с mysql_ на mysqli_ код явно лучше не стал. Изучите методы prepare(), bind_param(), bind_result() и execute().
$request = $mysqli->prepare("SELECT `name` FROM `category` WHERE `id` = ?");
$request->bind_param('i', $_GET['category']);
$request->bind_result($title_name);
$request->execute();
while ($request->fetch()) {
    $title = $title_name.' — Решебник онлайн';
}
$request->close();

Для заполнения - аналогично, создаёте подготовленный запрос (prepare), привязываете переменные параметров (bind_param), в цикле - устанавливаете их и выполняете запрос (execute).
Ответ написан
Комментировать
dzheka3d
@dzheka3d
ничего не изменилось:
$mysqli->query("INSERT INTO users VALUES ('','$login', '$password', '$name', '$lastname', '$e_mail', '$avatar', '$new_field')");
Ответ написан
Комментировать
trevoga_su
@trevoga_su
PDO/MySqli вещи может и хорошие, но недостаточно удобные.
Используйте обертку над mysqli - www.phpinfo.su/articles/additionally/klass_dlja_be...

а вообще конечно с теорией сначала нужно ознакомиться - www.phpfaq.ru/slashes
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы