Есть две таблицы: адрес и человек. person_id (первичный ключ, автоинкремент) — это внешний ключ для адреса. Я пытаюсь добавить запись адреса и запись о человеке из одной формы, но получаю эту ошибку.
Необнаруженная ошибка: попытка назначить свойство «person_id» null в
C:\xampp\htdocs\app\controllers\Main.php:22 Трассировка стека: #0 [внутренняя
функция]: app\controllers\Main->insert() #1
C:\xampp\htdocs\app\core\App.php(52): call_user_func_array(Array,
Array) #2 C:\xampp\htdocs\index.php(4): app\core\ App->__construct() #3
{main} добавлен в C:\xampp\htdocs\app\controllers\Main.php в строке 22
public function insert(){
if(isset($_POST['action'])){
$person = new \app\models\Person();
$person->first_name =($_POST['first_name']);
$person->last_name =($_POST['last_name']);
$person->notes =($_POST['notes']);
$person->insert();
$address->person_id = $person->person_id; //this is line 22
$address->description =($_POST['description']);
$address->street_address =($_POST['street_address']);
$address->city =($_POST['city']);
$address->province =($_POST['province']);
$address->zip_code =($_POST['zip_code']);
$address->country_code =($_POST['country_code']);
$address->insert();
header('location:/Main/index');
}else
$this->view('Main/insert');
}
Метод вставки человека
public function insert(){
$SQL = 'INSERT INTO Person(person_id, first_name, last_name, `notes`) VALUES (:person_id,:first_name, :last_name, :notes)';
$STMT = self::$_connection->prepare($SQL);
$STMT->execute(['person_id'=>$this->person_id, 'first_name'=>$this->first_name, 'last_name'=>$this->last_name,'notes'=>$this->notes]);
}
Вставка адреса
public function insert(){
$SQL = 'INSERT INTO Address(person_id, description, street_address, city, province, zip_code, country_code) VALUES (:person_id, :description, :street_address, :city, :province, :zip_code, :country_code)';
$STMT = self::$_connection->prepare($SQL);
$STMT->execute(['person_id'=>$this->person_id, 'description'=>$this->description, 'street_address'=>$this->street_address, 'city'=>$this->city, 'province'=>$this->province, 'zip_code'=>$this->zip_code, 'country_code'=>$this->country_code]);
}
Подробнее здесь: https://stackoverflow.com/questions/693 ... utoincreme
Php – невозможно создать новую запись базы данных, поскольку первичный ключ имеет значение NULL (автоинкремент) [дублика ⇐ Php
Кемеровские программисты php общаются здесь
1729694050
Anonymous
Есть две таблицы: адрес и человек. person_id (первичный ключ, автоинкремент) — это внешний ключ для адреса. Я пытаюсь добавить запись адреса и запись о человеке из одной формы, но получаю эту ошибку.
Необнаруженная ошибка: попытка назначить свойство «person_id» null в
C:\xampp\htdocs\app\controllers\Main.php:22 Трассировка стека: #0 [внутренняя
функция]: app\controllers\Main->insert() #1
C:\xampp\htdocs\app\core\App.php(52): call_user_func_array(Array,
Array) #2 C:\xampp\htdocs\index.php(4): app\core\ App->__construct() #3
{main} добавлен в C:\xampp\htdocs\app\controllers\Main.php в строке 22
public function insert(){
if(isset($_POST['action'])){
$person = new \app\models\Person();
$person->first_name =($_POST['first_name']);
$person->last_name =($_POST['last_name']);
$person->notes =($_POST['notes']);
$person->insert();
$address->person_id = $person->person_id; //this is line 22
$address->description =($_POST['description']);
$address->street_address =($_POST['street_address']);
$address->city =($_POST['city']);
$address->province =($_POST['province']);
$address->zip_code =($_POST['zip_code']);
$address->country_code =($_POST['country_code']);
$address->insert();
header('location:/Main/index');
}else
$this->view('Main/insert');
}
Метод вставки человека
public function insert(){
$SQL = 'INSERT INTO Person(person_id, first_name, last_name, `notes`) VALUES (:person_id,:first_name, :last_name, :notes)';
$STMT = self::$_connection->prepare($SQL);
$STMT->execute(['person_id'=>$this->person_id, 'first_name'=>$this->first_name, 'last_name'=>$this->last_name,'notes'=>$this->notes]);
}
Вставка адреса
public function insert(){
$SQL = 'INSERT INTO Address(person_id, description, street_address, city, province, zip_code, country_code) VALUES (:person_id, :description, :street_address, :city, :province, :zip_code, :country_code)';
$STMT = self::$_connection->prepare($SQL);
$STMT->execute(['person_id'=>$this->person_id, 'description'=>$this->description, 'street_address'=>$this->street_address, 'city'=>$this->city, 'province'=>$this->province, 'zip_code'=>$this->zip_code, 'country_code'=>$this->country_code]);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/69371883/php-cannot-create-new-database-record-because-primary-key-is-null-autoincreme[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия