Доступ к переменной lastInsertId вне функции

поэтому у меня есть простой код здесь, который вставит данные и вернет last inserted id, Вот мой код:

function newUser($fname, $age) {
global $newUserLastID;
$conn = new PDO('mysql:host=localhost;dbname=myDB', 'root', '');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$data = $conn->prepare("INSERT INTO accounts (fname, age) VALUES (?, ?)");
$data->execute(array($fname, $age));
$newUserLastID = $conn->lastInsertId('accounts');
}

И я хотел запустить функцию и получить глобальную переменную, например:

newUser('JohnDoe', '22');
$someVar = $newUserLastID;

Моя проблема — всякий раз, когда я запускаю этот код, мой CLI всегда вылетает Есть ли способ это исправить? Я также получаю это на производственном сервере. Я не получаю никакой ошибки, кроме этого.

введите описание изображения здесь
введите описание изображения здесь

(просто запустив функцию, мой CLI падает)

0

Решение

Почему бы просто не вернуть новый идентификатор вместо использования глобальной переменной? Итак, последняя строка вашей функции будет:

return $newUserLastID

Затем, когда вы вызываете функцию, вы вместо этого назначаете ее переменной, например:

$myNewId = newUser('JohnDoe', '22');

Я не знаю, является ли это причиной вашей ошибки, но это может быть началом.

1

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

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

По вопросам рекламы [email protected]