Ankündigung

Einklappen
Keine Ankündigung bisher.

IP in MySQL abspeichern / Unknown column '...' in 'field list'

Einklappen

Neue Werbung 2019

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

  • IP in MySQL abspeichern / Unknown column '...' in 'field list'

    Hallo Community,

    seit kurzem arbeite ich an einer Art Online-Controller für TeamSpeak-Server, also es ist kein richtiges Webinterface.

    Nun ist heute zum ersten mal ein Problem aufgetreten...

    Damit sich das Skript mit dem jeweiligen Teamspeak verbinden kann habe ich im Administrationsbereich eine Seite auf der man die Verbindungsdaten angeben kann. Der Plan ist das die angegebenen Daten jederzeit überarbeitet und eben vom Skript später automatisch ausgelesen werden sollen.

    Bisher ist das Problem das ich meine MySQL-Spalten nicht mit meinen Variablen updaten kann.

    PHP-Code:
    $result mysql_query("UPDATE `config` SET `ts_servername`=`$ts_servername`,`ts_ipadress`=`$ts_ipadress`,`ts_port`=`$ts_port`,`ts_query_admin`=`$ts_query_admin`,`ts_query_password`=`$ts_query_password`,`ts_query_port`=`$ts_query_port`,`ts_query_user_nick`=`$ts_query_user_nick` WHERE 1"); 
    Die Variablen kann ich auch problemlos auslesen also die werden definitiv mitgenommen aber ich kann sie einfach nicht in die Tabelle updaten.

    Meine Tabellen-Struktur sieht derzeit so aus:

    CREATE TABLE IF NOT EXISTS `config` (
    `ts_servername` text NOT NULL,
    `ts_ipadress` varchar(15) NOT NULL,
    `ts_port` varchar(6) NOT NULL,
    `ts_query_admin` text NOT NULL,
    `ts_query_password` text NOT NULL,
    `ts_query_port` varchar(6) NOT NULL,
    `ts_query_user_nick` text NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    Wenn ich im Code einfach anstatt die jeweiligen Variablen einstellige Zahlen schreibe wird das geupdatet. Aber bei dem geringsten Ansatz von Text funktioniert es nicht mehr

    Fehlermeldung: Unknown column '...' in 'field list'


    Also die Verbindung zur Datenbank steht definitiv, kann wie gesagt die ganzen Variablen auch in einem Echo auslesen...
    Außerdem wird die Sache ja auch noch erschwert weil eine IP abgespeichert werden soll


  • #2
    ` ist nicht ', Spalten/Tabellen werden mit ` maskiert, Strings mit ' oder "
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      Zitat von Justiin Beitrag anzeigen

      PHP-Code:
      $result mysql_query("UPDATE `config` SET `ts_servername`=`$ts_servername`,`ts_ipadress`=`$ts_ipadress`,`ts_port`=`$ts_port`,`ts_query_admin`=`$ts_query_admin`,`ts_query_password`=`$ts_query_password`,`ts_query_port`=`$ts_query_port`,`ts_query_user_nick`=`$ts_query_user_nick` WHERE 1"); 
      Geile WHERE-Condition.


      CREATE TABLE IF NOT EXISTS `config` (
      `ts_servername` text NOT NULL,
      `ts_ipadress` varchar(15) NOT NULL,
      `ts_port` varchar(6) NOT NULL,
      `ts_query_admin` text NOT NULL,
      `ts_query_password` text NOT NULL,
      `ts_query_port` varchar(6) NOT NULL,
      `ts_query_user_nick` text NOT NULL
      ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
      Geile Datentypen. Geile Engine. Alles einfach nur geil.
      PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

      Kommentar


      • #4
        Zitat von akretschmer Beitrag anzeigen
        Geile WHERE-Condition.




        Geile Datentypen. Geile Engine. Alles einfach nur geil.
        geile Hilfe? xD

        Kommentar


        • #5
          Geiles Charset.

          IP-Adresse hätte in PG einen eigenen Datentyp, für MySQL ist VARCHAR ok.
          Port ist definitiv ein Integer.
          Passwort wäre VARCHAR(32) order VARCHAR(45), je nach Hashing.

          Allgemein solltest du VARCHAR mit einer begrenzten Zeichenlänge nutzen. Ich glaube nicht, dass du Servernamen mit 65000 Zeichen hast.
          GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken

          Kommentar


          • #6
            Zitat von ChristianK Beitrag anzeigen
            Geiles Charset.

            IP-Adresse hätte in PG einen eigenen Datentyp, für MySQL ist VARCHAR ok.
            Code:
            test=*# select '127.000.000.001'::varchar = '127.0.0.1'::varchar;
             ?column?
            ----------
             f
            (1 row)
            
            Time: 14,584 ms
            test=*# select '127.000.000.001'::inet = '127.0.0.1'::inet;
             ?column?
            ----------
             t
            (1 row)
            FAIL.
            PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

            Kommentar


            • #7
              IPv6?

              Zitat von akretschmer Beitrag anzeigen
              Geile Datentypen. Geile Engine. Alles einfach nur geil.
              + geiler Zeichensatz
              Standards - Best Practices - AwesomePHP - Guideline für WebApps

              Kommentar


              • #8
                Zitat von rkr Beitrag anzeigen
                IPv6?
                Was soll damit sein? Lies selber: http://www.postgresql.org/docs/9.3/i...#DATATYPE-INET
                PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

                Kommentar


                • #9
                  Zitat von akretschmer Beitrag anzeigen
                  Was soll damit sein?
                  Zitat von Justiin Beitrag anzeigen
                  mysql_query
                  Standards - Best Practices - AwesomePHP - Guideline für WebApps

                  Kommentar

                  Lädt...
                  X