Что положить в поле первичного ключа автоинкремента MySQL при вставке строки?

Я новичок в PHP, и у меня возникли небольшие проблемы с настройкой кода для автоматического увеличения идентификаторов для SQL. Я знаю, что метод, который я пробую, не очень хороший подход и знаю о рисках состояния гонки и т. Д. Это будет временным, пока я не разберусь с остальным кодом должным образом.

Может кто-нибудь сказать мне, что я здесь делаю неправильно? Или помочь мне получить действительный код?

Мои занятия:

<?php

$user = 'root';
$pass = '';
$db = 'testuser';

$con=mysqli_connect('localhost', $user, $pass, $db) or die('Unable to connect');

$data = json_decode(trim(key($_POST), '[]'), true);

$email = $data['email'];
$name = $data['name'];
$shortDes = $data['shortDes'];
$longDes = $data['longDes'];
$max = mysqli_prepare($con, 'SELECT MAX(society_id) FROM society');
$society_id = $max + 1;

$statement = mysqli_prepare($con, 'INSERT INTO society(society_id, name, email, short_des, long_des) VALUES (?, ?, ?, ?, ?)');
mysqli_stmt_bind_param($statement, 'issss', $societyId, $name, $email, $shortDes, $longDes);
mysqli_stmt_execute($statement);
mysqli_stmt_store_result($statement);
mysqli_stmt_close($statement);

mysqli_close($con);
?>

Сосредоточив внимание на следующем фрагменте:

$max = mysqli_prepare($con, 'SELECT MAX(society_id) FROM society');
$society_id = $max + 1;

$statement = mysqli_prepare($con, 'INSERT INTO society(society_id, name, email, short_des, long_des) VALUES (?, ?, ?, ?, ?)');
mysqli_stmt_bind_param($statement, 'issss', $societyId, $name, $email, $shortDes, $longDes);

-2

Решение

Просто нужно полностью удалить значение для автоинкрементного поля.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector