sql >> Database teknologi >  >> RDS >> Mysql

Er der nogen hukommelsesgrænse for json_encode()-metoden?

Stik ind i mørket:Nogle af dine databaserækker indeholder ikke-ASCII-tegn (f.eks. ü, é og sådan). Din databaseforbindelse er indstillet til latin1 , så dataene er ikke UTF-8-kodede. json_encode kræver UTF-8-kodede data. Hvis du henter nok rækker, vil der være rækker med sådanne ikke-UTF-8-data derinde, og json_encode fejler. Med få rækker nok rammer du tilfældigvis ikke de problematiske rækker.

Test dette ved at udskrive echo json_last_error_msg(); efter json_encode .

Indstil din databaseforbindelse til UTF-8. Se her, hvordan du gør det:UTF-8 hele vejen igennem

Grunden til, at din browser klager over ugyldig JSON, når du inkluderer en print_r er simpelt:for så udsender PHP en masse skrald, som ikke er JSON, som browseren ikke kan afkode som JSON.



  1. Hvordan angiver du den primære nøgle i en SQL Server-tabel?

  2. Hvordan kan jeg returnere pivottabeloutput i MySQL?

  3. Sammenligning af datatyper for dato og klokkeslæt i SQL Server

  4. MySQL sletter duplikerede optegnelser, men beholder seneste