Получите значения из базы данных и работайте над ними

<?php
include('connection.php');

/* code for id goes here */

$q2= "select MAX(id) from usertable";   
echo mysqli_query($sql,$q2);

$name=$_POST['name'];
$username=$_POST['usrname'];
$password=$_POST['psw'];
$dob=$_POST['date'];
$query = "insert into usertable(name, username, password, dateofbirth) values('$name', '$username','$password','$dob')";
if (mysqli_query($sql,$query))
{

    echo "Registered successfully";
}
?>

Это моя команда вставки для регистрации пользователя в моей базе данных. Однако база данных содержит столбец с именем id, который является первичным ключом. Как мне получить идентификатор перед выполнением запроса на вставку, чтобы он получил последний идентификатор, увеличил его на 1 и вставил его в базу данных вместе с другими данными. Идентификатор является числовым, и я хочу, чтобы программа выполняла операцию сама, а не пользователь вводил данные идентификатора. Пожалуйста помоги.

Ваш сценарий широко открыт для Атака с использованием SQL-инъекции Даже если вы избегаете ввода, это небезопасно! Используйте подготовленные параметризованные операторы в API MYSQLI_ или PDO

RiggsFolly 01.05.2018 16:33

исследовать заявления select

treyBake 01.05.2018 16:34

Это уже выглядит небезопасным для использования в живой среде. Надеюсь, вы это понимаете.

Funk Forty Niner 01.05.2018 16:34

Вам не нужно НИЧЕГО делать со столбцом id, если он определен как ключ АВТОМАТИЧЕСКОЕ ПРИРАЩЕНИЕ. MySQL позаботится обо всем за вас

RiggsFolly 01.05.2018 16:34
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
4
36
2

Ответы 2

Вам нужно написать запрос

SELECT MAX(id) FROM usertable

и получите результат, затем увеличьте это значение на 1, а затем установите это значение в поле id.

Просмотрите обновленный код. он генерирует следующую ошибку. Объект класса mysqli_result не может быть преобразован в строку.

Priyanka Banerjee 01.05.2018 17:51

Вы можете использовать следующий код: $ rs = mysqli_query ($ con, «выберите MAX (id) как max_id от пользователей»); $ row = mysqli_fetch_row ($ rs); $ max_id = $ row [0]; $ max_id ++; $ query = "вставить в значения таблицы пользователя (id, имя, имя пользователя, пароль, дата рождения) ('$ max_id', '$ name', '$ username', '$ password', '$ dob')";

Anil Yadav 02.05.2018 08:32

Вам нужно настроить поле идентификатора на автоматическое приращение, и ваша база данных сделает это автоматически:

ALTER TABLE пользовательская таблица MODIFY COLUMN id INT auto_increment;

Другие вопросы по теме