[MySQL 3.23.X] Zeichenketten werden nicht erkannt. Hilfe!

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

  • [MySQL 3.23.X] Zeichenketten werden nicht erkannt. Hilfe!

    Ich hoffe mir kann jemand helfen!
    Folgendes Problem:

    Ich habe mir mit PHP ein Script geschrieben, der ähnlich wie PHPMyAdmin
    Datenbankbefehle ausführt. Dabei wird in eine HTML-Textarea die Anfrage geschrieben, das ganze in einer Variablen gespeichert, die dann der Query für MySQL_query ist. Das funktioniert soweit so gut vollkommen perfekt!
    Das Problem liegt meines erachtens in der Einstellung der DB, auf der ich leider kein Zugriff habe (die DB ist von nem Freund). Nämlich wenn ich versuche Datensätze in eine Tabelle einzutragen, ala

    INSERT INTO tabelle (name) VALUES ('Kuriwa')


    SQL meint es gebe einen Fehler bei 'Kuriwa'). name ist vom Typ TEXT, VARCHAR(20) oder sonst irgend ne Zeichenkette!
    Ich habe auch schon "Kuriwa" ausprobiert, alles mögliche, nichts klappt!
    Ausser ich schreibe:

    INSERT INTO tabelle (name) VALUES (1234)

    Also eine Zahl funzt, aber halt keine Zeichenketten!

    Was mache ich falsch? Und gibt es vielleicht noch andere Zeichen die eine Zeichenkette kenntlich machen?

  • #2
    poste doch bitte mal die komplette tabellenstruktur

    Kommentar


    • #3
      Ich glaube aber nicht das das nötig ist:


      CREATE TABLE tabelle(
      name VARCHAR(20),
      nachname VARCHAR(20)
      );

      Kommentar


      • #4
        Ich kann ja mal den Quelltext vom zugehörigen PHP-Script zeigen, vielleicht gibt es ja da schon einen Fehler!

        PHP-Code:
        <?
        if ($query=="")
        $query="SHOW TABLES";

        $verbindung = mysql_connect($host, $username, $password);
        mysql_select_db('datenbank');
        $res = @mysql_query($query, $verbindung);

        print "<b>Darstellung:</b><br><br><table bgcolor=black cellspacing=1 cellpadding=4>";

        while($row=@mysql_fetch_row($res)){
        print "<tr>";
        $i=0;
        while($i<@mysql_num_fields($res)){ 
        print "<td bgcolor=#DDDDDD>$row[$i]</td>";
        $i++;
        }
        print "</tr>";
        }

        $fehler=mysql_error();

        print "</table><br>$fehler<br><br><b>SQL-Befehl auführen:</b>";
        print "<form action=\"admin.php?access=$using\" method=post>";
        print "<textarea cols=50 rows=8  name=\"query\"></textarea><br>";
        print "<input type=submit value=\"Ausführen\"><br>";
        print "</form>";
        ?>
        In $query steht die Anfrage die im Textarea eingeben wurde drin (siehe Formular ganz unten).

        Kommentar


        • #5
          Das Problem hat sich erledigt, der Fehler lag im $query;
          Wurde 'Hallo' aus der Textarea übernommen, so stand dann im $query \'Hallo\' was MySQL natürlcih nicht versteht. Abhilfe schuf stripslashes()

          $query = stripclashes($query);

          dies hat die \ vor ' entfernt.

          Kommentar

          Lädt...
          X