[SQL allgemein] SQL Syntax Error

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

  • [SQL allgemein] SQL Syntax Error

    Hey,
    Ich habe mir gerade ein script gebastelt, welches die Punktezahl eines Users auswertet soll und dann , wenn der user eine bestimmte punktezahl überschreitet, dass in einer anderen Tabelle auf den bestimmten status stellen.

    Jetzt gibt er auf der Index seite (da ist das script mti drinne) aus:

    Unknown column 'userid' in 'where clause'
    und hier zum PHP code:


    PHP-Code:
    <?php
    $userpunkte 
    $row_upunkte['gesamt'];

    if(
    $userpunkte 100){
      
    $sqlquery "UPDATE `login` SET `status` = 'Vollnoob' WHERE userid = '".$colname_upunkte."';";
    }
    if(
    $userpunkte >= 100){ // <
      
    $sqlquery "UPDATE `login` SET `status` = 'Halbnoob' WHERE userid = '".$colname_upunkte."';";
    }
    if(
    $userpunkte >= 500){ // <
      
    $sqlquery "UPDATE `login` SET `status` = 'Schwellennoob' WHERE userid = '".$colname_upunkte."';";
    }
    if(
    $userpunkte >= 1000){ // <
      
    $sqlquery "UPDATE `login` SET `status` = 'elaborierter Noob' WHERE userid = '".$colname_upunkte."';";
    }
    if(
    $userpunkte >= 5000){ // <
      
    $sqlquery "UPDATE `login` SET `status` = 'Pro-noob' WHERE userid = '".$colname_upunkte."';";
    }
    mysql_select_db($database_Mog$Mog);
    $result mysql_query$sqlquery$Mog) or die(mysql_error());
    ?>
    Was mache ich hier falsch?

  • #2
    Was mache ich hier falsch?
    Na, lies doch die Fehlermeldung! Du benutzt ne Spalte, die es nicht gibt!

    Kommentar


    • #3
      Das Wesentliche hat TobiaZ schon gesagt, hier aber noch ein paar Bemerkungen:[list=1][*]Aus PHP aufgerufene SQL-Befehle sollen nicht mit einem Semikolon abgeschlossen werden[*]Nummerische Argumente stehen nicht in Anführungszeichen[*]Du gehst durch alle deine IF-Abfragen und überschreibst den Abfrage-String immer wieder, statt exklusiv nur den zutreffenden Fall zu behandeln [/list=1] Wenn man das alles berücksichtigt, könnte das dann etwa so aussehen:
      PHP-Code:
      <?php
      $userpunkte 
      $row_upunkte['gesamt'];
      if (
      $userpunkte 100){
          
      $status 'Vollnoob';
      }
      elseif (
      $userpunkte 500){
          
      $status 'Halbnoob';
      }
      elseif (
      $userpunkte 1000){
          
      $status 'Schwellennoob';
      }
      elseif (
      $userpunkte 5000){
          
      $status 'elaborierter Noob';
      }
      else{
          
      $status 'Pro-noob';
      }
      mysql_select_db($database_Mog);
      $sqlquery "UPDATE login 
                   SET status = '
      $status
                   WHERE ...das_zutreffende_attribut... = 
      $colname_upunkte";
      $result mysql_query($sqlquery) or die(mysql_error());
      ?>
      Gruss
      H2O

      Kommentar

      Lädt...
      X