поэтому у меня есть простой код здесь, который вставит данные и вернет 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 падает)
Почему бы просто не вернуть новый идентификатор вместо использования глобальной переменной? Итак, последняя строка вашей функции будет:
return $newUserLastID
Затем, когда вы вызываете функцию, вы вместо этого назначаете ее переменной, например:
$myNewId = newUser('JohnDoe', '22');
Я не знаю, является ли это причиной вашей ошибки, но это может быть началом.
Других решений пока нет …