Announcement

Collapse
No announcement yet.

MySQL Syntax

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MySQL Syntax

    Der Sinn des Scripts ist es, aus einer TXT Datei eine art Punkteliste auszugeben. Die ausgabe klappt schonmal. nun will ich aber die Einträge iin eine MySQL Datenbank eintragen.


    PHP Code:
    <? 

    $link = mysql_connect( '83.169.11.*****','pub_user','******' );
    if (!$link) { echo "keine Verbindung!<br>"; } else { echo "verbunden!<br>"; }

    $seldb = mysql_select_db( 'pub1_test' );
    if (!$seldb) { echo "not selected!<br>"; } else { echo "selected!<br>"; }




    $flatfile=file("mani_ranks.txt"); 
    foreach ($flatfile as $zeile) 

    $steam_id = array();
    list (
          $steam_id,
          $ip_address,
          $last_connected,
          $rank,
          $points,
          $headshots,
          $kills,
          $suicides,
          $team_kills,
          $total_time_online,
          $damage,
          $hit_generic,
          $hit_head,
          $hit_chest,
          $hit_stomach,
          $hit_leftarm,
          $hit_rightarm,
          $hit_leftleg,
          $hit_rightleg,
          $ak47_kills,
          $m4a1_kills,
          $mp5navy_kills,
          $awp_kills,
          $usp_kills,
          $deagle_kills,
          $aug_kills,
          $hegrenade_kills,
          $xm1014_kills,
          $knife_kills
          
          
          
          
          )=explode(",",$zeile); 
     if ($points!=""){
     echo "<br><br><br><br>
     Platz: $rank<br>
     Name: $player_name <br>
     Steam-ID: $steam_id<br><br>
     IP-Address: $ip_address<br>
     Last Connected: $last_connected <br>
     ";
     
     echo "
             $steam_id,
             $ip_address,
              $last_connected,
              $rank,
              $points,
              $headshots,
              $kills,
              $suicides,
              $team_kills,
              $total_time_online,
              $damage,
              $hit_generic,
              $hit_head,
              $hit_chest,
              $hit_stomach,
              $hit_leftarm,
              $hit_rightarm,
              $hit_leftleg,
              $hit_rightleg,
              $ak47_kills,
              $m4a1_kills,
              $mp5navy_kills,
              $awp_kills,
              $usp_kills,
              $deagle_kills,
              $aug_kills,
              $hegrenade_kills,
              $xm1014_kills,
              $knife_kills
     
     
     
     "; 
     print "------------------------------------------<br>"; 
     $seltb = "SELECT * FROM ranks";
     $ins = "INSERT INTO ranks (steam_id,ip,rank) VALUES('".$steam_id."'),('".$ip_address."'),('".$rank."')";
     if (mysql_query($ins)) { echo "success!<br>"; } else { echo "failed: ".mysql_error()."<br>"; }

     
     
     }

    ?>

    der DB Server ist erreichbar
    die Datenbank ausgewählt

    dann kommt als mysql_error() das hier:
    Column count doesn't match value count at row 1

    tabellenstruktur:
    id int(255), AUTOINCREMENT, PRIMARY KEY
    steam_id Varchar(30), default(NULL), decimals(0) - (is für nen CSS-Server gedacht Format bsp: STEAM_0:0:00000000)
    ip_address Varchar(30) default(NULL) decimals(0) - (bsp: 91.23.169.18)
    rank int(255) default(NULL) decimals(0) - (bsp: 1023)


    ich weiss ned was ich tun soll, bitte helft mir -.-

    MFG IzeCold

  • #2
    Hi,

    du hast auf jeden Fall die Klammern falsch gesetzt:

    [highlight=sql]
    INSERT INTO ranks (steam_id, ip, rank) VALUES('".$steam_id."', '".$ip_address."', '".$rank."')";
    [/highlight]
    "(...) deshalb mag ich Binärtechnik. Da gibt es nur drei Zustände: High, Low und Kaputt." (Wau Holland)

    Viele Grüße Novi

    Comment


    • #3
      nächstes Problem

      DROP TABLE IF EXISTS ranks;
      CREATE TABLE ranks (
      steam_id varchar(30) default NULL,
      ip varchar(30) default NULL,
      rank int(255) default NULL,
      points int(255) default NULL,
      UNIQUE KEY steamid (steam_id)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

      das wollte ich nun davor setzen, damit wenn ich auf die Seite geh die MySQL DB neu generiert wird...

      is aber n MySQL Syntax Error drin und ich check da nix...

      wie gesagt, is in der PHP file drin

      Comment


      • #4
        Hi,

        das kann ich absolut nicht nachvollziehen. Ich sehe keinen Fehler und bei mir funktioniert die Abfrage auch.
        "(...) deshalb mag ich Binärtechnik. Da gibt es nur drei Zustände: High, Low und Kaputt." (Wau Holland)

        Viele Grüße Novi

        Comment


        • #5
          Die Lösung für das Problem ist, die SQL-Anweisungen einzeln an den MySql-Server zu senden, da man über php aus Sicherheitsgründen meistens nur einen Befehl zur Zeit abschicken darf. Nur für den Fall, dass noch andere auf diesen Thread stoßen.
          "(...) deshalb mag ich Binärtechnik. Da gibt es nur drei Zustände: High, Low und Kaputt." (Wau Holland)

          Viele Grüße Novi

          Comment

          Working...
          X