私は開発用のフレームワークとしてCodeIgniterを使用しました。 MySQLデータベースのテーブルにデータを挿入しようとしています。 データは次のように挿入されます。テーブルにデータを挿入すると、insertId 0が返されます。
$dataArray['categoryId'] = $categoryId['id'];
$dataArray['subCategoryId'] = $subTypeId;
$dataArray['title'] = $title;
$dataArray['regionId'] = $regionId;
$dataArray['slogan'] = $slogan;
$dataArray['lastUpdated'] = date('Y-m-d H:i:s');
$dataArray['createdDate'] = date('Y-m-d H:i:s');
$dataArray['state'] = 'Unhide';
$dataArray['status'] = 'Active';
$dataArray['approval'] = 'Incompleted';
$dataArray['user_id'] = $userId;
$this->db->insert($carrentals, $dataArray);
$insertId = $this->db->insert_id();
マイテーブルは、添付されたイメージのように構成されています。
$ insertIdは常に0を返し、データはテーブルに挿入されません。 テーブルに手動でデータを挿入できます。 何が間違っている可能性がありますか? 私はidとしてAUTO_INCREMENT列を持っています。しかし、データが挿入されていないと常に0
EDIT返します 私の実際のコードは
$dataArray = [
'categoryId' => $categoryId['id'],
'subCategoryId' => $subTypeId,
'title' => $title,
'regionId' => $regionId,
'slogan' => $slogan,
'lastUpdated' =>date('Y-m-d H:i:s')
];
if (empty($_POST['referenceId'])) {
$dataArray['createdDate'] = date('Y-m-d H:i:s');
$dataArray['state'] = 'Unhide';
$dataArray['status'] = 'Active';
$dataArray['approval'] = 'Incompleted';
$dataArray['user_id'] = $userId;
$this->db->insert($carrentals, $dataArray);
$insertId = $this->db->insert_id();
$responseArray = array(
'result' => $insertId,
'success' => true);
return $this->set_response($responseArray, REST_Controller::HTTP_OK);
}
テーブル名と列を再確認してみてください。 '$ this-> db-> last_query();'を表示して、クエリが正しいかどうかを調べることができます。 –