PDO bindParam

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    "SET NAMES 'utf-8'" dazu?

    Kommentar


    • #17
      Hab mehrere Varianten versucht, das hinzuzufügen

      Mit dieser Variante hat Eclipse kein Problem, der PDO Driver mag es allerdings nicht:

      Error!: SQLSTATE[42000]: Syntax error or access violation: 1115 Unknown character set: 'utf'

      PHP-Code:
      $dbh->exec('SET CHARACTER SET utf8' );
      $dbh->exec('SET NAMES utf-8 '); 

      Kommentar


      • #18
        hochkommata vergessen..
        arbeitet dein eclipse denn mit utf-8?

        Kommentar


        • #19
          Diese Variante geht auch nicht:

          Error!: SQLSTATE[42000]: Syntax error or access violation: 1115 Unknown character set: 'utf-8'

          PHP-Code:
          $dbh->exec('SET CHARACTER SET utf8' );
          $dbh->exec("SET NAMES 'utf-8' "); 
          Wie bekomme ich denn raus, was mein Eclipse benutzt? Ich suche mal in den Settings.

          Kommentar


          • #20
            ohne bindestrich?

            Kommentar


            • #21
              Das hatte ich vorher schon mal versucht. Geht auch nicht:

              Error!: SQLSTATE[HY000]: General error: 1270 Illegal mix of collations (latin1_general_ci,IMPLICIT), (utf8_general_ci,COERCIBLE), (utf8_general_ci,COERCIBLE) for operation ' IN '

              Kommentar


              • #22
                in welcher kodierung läuft eclipse?

                Kommentar


                • #23
                  Bin in den Eclipse preferences bisher nicht fündig geworden.

                  Irgendne Idee wo man das definieren kann?

                  Kommentar


                  • #24
                    In den Preferences hab ich gefunden, dass HTML in ISO Latin-1 encoded wird.

                    Bei den PHPEclipse Settings habe ich nichts entsprechendes gefunden.

                    Hilft das irgendwie weiter?

                    Kommentar


                    • #25
                      Versuch das Encoding von eclipse mal auf UTF-8 zu stellen. Übrigens ist es einfacher bei execute ein Array mit den Parametern anzugeben statt mehrmals bindParam aufzurufen.
                      Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

                      Kommentar


                      • #26
                        Inzwischen habe ich Eclipse dazu gebracht in utf8 zu encoden.

                        Der Code sieht wie folgt aus:

                        PHP-Code:
                        $sql="SELECT DokumentID, Name, Inhalt 
                        FROM dokumente WHERE Team IN :teams 
                        AND Unternehmen= :unternehmen ORDER BY Datum DESC LIMIT 0,15 "
                        ;
                        $dbh->exec("SET CHARACTER SET 'utf8' ");
                        $dbh->exec("SET NAMES 'utf8' ");
                        $stmt $dbh->prepare($sql);
                        $stmt->bindParam(':unternehmen'$this->unternehmen);
                        $stmt->bindParam(':teams'$teams); 
                        Nun passiert folgendes:

                        Error!: SQLSTATE[42000]: Syntax error or access violation:
                        1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''(\'Geschäftsführung Vertrieb\' ) ' AND Unternehmen= 'ABC' ORDER BY Datum DESC' at line 1


                        Ich vermute, das liegt daran, dass das Characterset der Tabellen auf latin1_general_ci gesetzt ist. Der Wert für $teams kommt aus der DB.

                        Bringt es mich weiter, wenn ich alle Tabelle exportiere und mit dem utf8 characterset zurückimportiere?

                        Kommentar


                        • #27
                          Original geschrieben von Stonebreaker62
                          Bringt es mich weiter, wenn ich alle Tabelle exportiere und mit dem utf8 characterset zurückimportiere?
                          Nicht weiter als ein paar ALTER TABLE Statements.

                          Kommentar


                          • #28
                            Habe gestern nacht noch alle Tabellen auf utf-8 umgestellt. Mein Eclipse encoded in utf-8.
                            Ferner habe ich folgendes META Tag gesetzt.

                            PHP-Code:
                            echo "<META http-equiv='Content-Type' content='text/html; charset=utf-8'>"
                            Nun kämpfe ich damit, dass die Sonderzeichen alle nicht richtig dargestellt werden. Muss ich den Apachen noch auf utf-8 einstellen?

                            Kommentar


                            • #29
                              Problem gelöst, habe einen Beitrag von Ghostgambler gefunden, der sehr hilfreich war.

                              Kommentar


                              • #30
                                OffTopic:
                                Original geschrieben von Stonebreaker62
                                Problem gelöst, habe einen Beitrag von Ghostgambler gefunden, der sehr hilfreich war.
                                Danke. ^^

                                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                                Wie man Fragen richtig stellt

                                Kommentar

                                Lädt...
                                X