laravel5.3 führt Fehler in mysql5.1 Fehler aus: 1366 Falsche Ganzzahl

WBOY
Freigeben: 2016-09-26 08:40:13
Original
1574 Leute haben es durchsucht

Laravel hat einen Fehler, wenn es unter MySQL5.1 läuft. Der Fehler ist wie folgt:

<code>SQLSTATE[HY000]: General error: 1366 Incorrect integer value: ''1'' for column 'status' at row 1 (SQL: insert into `cases` (`case_name`, `status`, `updated_at`, `created_at`) values ('fdsafdsadsa', '1', 1474504956, 1474504956))
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Aber das PDO, das ich geschrieben habe, hat kein Problem damit, den Test auszuführen

<code>try {
    $sth = $db->prepare('insert into cases(case_name,status,updated_at,created_at) values (?,?,?,?)');
    $sth->bindValue(1, '我也是中文', PDO::PARAM_STR);
    $sth->bindValue(2, '1', PDO::PARAM_INT);
    $sth->bindValue(3, time(), PDO::PARAM_INT);
    $sth->bindValue(4, time(), PDO::PARAM_INT);

    $sth->execute();
} catch (\Exception $e)
{
    echo $e->getMessage();
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

Datentabellenstruktur: laravel5.3 führt Fehler in mysql5.1 Fehler aus: 1366 Falsche Ganzzahl

Ich habe auch online nachgesehen und festgestellt, dass ich SQL_MODE geändert und geändert habe, aber immer noch der Fehler angezeigt wurde

Das Problem mit den doppelten Anführungszeichen wurde durch das Hinzufügen der Shell-Filterung behoben

Antwortinhalt:

Laravel hat einen Fehler, wenn es unter MySQL5.1 läuft. Der Fehler ist wie folgt:

<code>SQLSTATE[HY000]: General error: 1366 Incorrect integer value: ''1'' for column 'status' at row 1 (SQL: insert into `cases` (`case_name`, `status`, `updated_at`, `created_at`) values ('fdsafdsadsa', '1', 1474504956, 1474504956))
</code>
Nach dem Login kopieren
Nach dem Login kopieren

Aber das PDO, das ich geschrieben habe, hat kein Problem damit, den Test auszuführen

<code>try {
    $sth = $db->prepare('insert into cases(case_name,status,updated_at,created_at) values (?,?,?,?)');
    $sth->bindValue(1, '我也是中文', PDO::PARAM_STR);
    $sth->bindValue(2, '1', PDO::PARAM_INT);
    $sth->bindValue(3, time(), PDO::PARAM_INT);
    $sth->bindValue(4, time(), PDO::PARAM_INT);

    $sth->execute();
} catch (\Exception $e)
{
    echo $e->getMessage();
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

Datentabellenstruktur: laravel5.3 führt Fehler in mysql5.1 Fehler aus: 1366 Falsche Ganzzahl

Ich habe auch online nachgesehen und gesagt, dass ich SQL_MODE geändert und geändert habe, aber immer noch den Fehler erhalten habe

Das Problem wurde aufgrund des Problems mit doppelten Anführungszeichen gelöst, das durch das Hinzufügen der Shell-Filterung verursacht wurde

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage