mein Problem ist so komisch. Ich versuche, eine Zeile in Mysql-Tabelle (mit InnoDB) einzufügen. Es gibt keine Fehler. alles sieht gut aus. aber die Zeile wird nicht in die Tabelle eingefügt.Codeigniter 3 Abfrage einfügen fehlgeschlagen
UPDATE:
Wickeltisch Motor aus InnoDB zu MyISAM wird das Problem beheben, aber warum wird InnoDB nicht?
hier ist mein Code und es gibt immer true:
$this->db->trans_start();
$this->db->set('userId', '27193');
$this->db->set('listId', '14');
$this->db->set('createDate', '2017-02-23');
$this->db->set('alertReq', '1');
$this->db->insert('parking');
if ($this->db->affected_rows() == '1') {
$this->db->trans_complete();
return true;
} else {
$this->db->trans_complete();
return false;
}
Ich habe auch versucht, den Einsatz Abfrage auf unterschiedliche Weise:
$parkings = array (
'userId' => '27193',
'listId' => '14',
'createDate' => '2017-02-23',
'alertReq' => '1'
);
$this->db->trans_start();
$this->db->insert('parking', $parkings);
if ($this->db->affected_rows() == '1') {
$this->db->trans_complete();
return true;
} else {
$this->db->trans_complete();
return false;
}
ODER
$sql = "INSERT INTO `parking` (`userId`, `listId`, `createDate`, `alertReq`) VALUES ('27193', '14', '2017-02-23', '1')";
$query = $this->db->query($sql);
bei der Verwendung von
$this->output->enable_profiler(TRUE);
in meinem Controller, alle oben genannten Abfragen erzeugen und zeigen:
INSERT INTO `parking` (`userId`, `listId`, `createDate`, `alertReq`) VALUES ('27193', '14', '2017-02-23', '1')
in Profiler & sogar in Parktisch, die id-Spalte wird automatisch Zuwachs um 1 aber es gibt keine neuen Zeilen hinzugefügt Tabelle!!!
Wenn ich phpmyadmin oder adminer zum Einfügen dieser Zeile verwenden, funktionieren sie wie erwartet und ich kann sehen, dass die neue Zeile hinzugefügt wird. aber mit CI habe ich keinen Erfolg!
hier ist meine Tabellenstruktur:
CREATE TABLE `parking` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`userId` int(11) NOT NULL,
`listId` int(11) NOT NULL,
`createDate` date NOT NULL,
`alertReq` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
Ich habe versucht, die Parkplatz Tabelle zu löschen und neu erstellen, aber kein Erfolg. Ich habe auch versucht, eine andere Tabelle mit der gleichen Struktur und anderen Namen zu erstellen (sagen placingsss), wieder kein Erfolg.
Haben Sie Fehlermeldungen in Ihrem 'config/Datenbank aktiviert haben .php' – RiggsFolly
https://codeigniter.com/userguide3/database/transactions.html – RiggsFolly
ja. Es gibt keine Fehler. Ich versuchte mit: $ this-> db-> trans_begin(); & $ this-> db-> trans_commit(); , aber kein Erfolg –