Ankündigung

Einklappen
Keine Ankündigung bisher.

Syntax-Fehler aber warum?

Einklappen

Neue Werbung 2019

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

  • Syntax-Fehler aber warum?

    ich habe eine datei für ein db-update aber leider gibt es bei der ausführung ein syntax-fehler..habe mir das ganze nun schon einige male angeguckt und neu geschrieben aber irgendwie ist es immer das selbe.

    PHP-Code:
    $res mysql_query ("SELECT FROM team WHERE id =  "$_POST['id'] ."");
    $ausgabe mysql_fetch_assoc($res);

    $wicheinsatz $_POST['einsatzart'];

    if (
    $wicheinsatz == 'Stammspieler') {
        
    $stamm 1;
        
    $ersatz 0;
    } else {
        
    $stamm 0;
        
    $ersatz 1;
    }  

    //$quotenpunkte = ($ausgabe["qp"] + $_POST["qp"]);
    //$ggquotenpunkte = ($ausgabe["ggqp"] + $_POST["ggqp"]);
    //$einzeltore = ($ausgabe["einzeltore"] + $_POST["einzeltore"]);
    //$ggeinzeltore = ($ausgabe["ggeinzeltore"] + $_POST["ggeinzeltore"]);
    //$spielerg = $_POST["match"];
    //$stammerg = ($ausgabe["stamm"] + $stamm);
    //$ersatzerg = ($ausgabe["ersatz"] + $ersatz);



    $eintragen "UPDATE team SET qp = qp + ".$_POST['qp'].","
    //($eintragen .= " ggqp = ' qp + "$_POST["qp"] "',";
    //$eintragen .= " einzeltore = ' $einzeltore ',";
    //$eintragen .= " einzelggtore = ' $ggeinzeltore ',";
    //$eintragen .= " stamm = ' $stammerg ',";
    //$eintragen .= " ersatz = ' $einsatzerg ',";
    //$eintragen .= " spielerg = '" . $_POST["match"] . "'";
    $eintragen .= " where id = " $_POST['id'];




    mysql_query ($eintragen) or die(mysql_error()); 

    Hab einige sachen ausgeklammert um den fehlerbereich zu minimieren.

    Das ist der Fehler:

    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 'where id = 3' at line 1

    Hoffe ihr könnt mir helfen!

  • #2
    Ich denke, das liegt entweder daran, das $_POST["id"] leer ist oder einen falschen Wert hat.
    Damit du keinen Fehler bekommst (und auch aus Sicherheitsgründen) solltest du (int)$_POST["id"] schreiben.
    Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

    Kommentar


    • #3
      naja leer is sie ja nicht da der wert ja schon im fehlertext steht nämlich "3" ich prober das mit deinem int mal
      was auch immer das bedeuten mag *grinz*

      Kommentar


      • #4
        Zitat von braschi Beitrag anzeigen
        naja leer is sie ja nicht da der wert ja schon im fehlertext steht nämlich "3" ich prober das mit deinem int mal
        was auch immer das bedeuten mag *grinz*


        PHP-Code:
        $res mysql_query ("SELECT FROM team WHERE id =  "(int)$_POST['id'] .""); 
        PHP-Code:
        $eintragen .= " where id = " (int)$_POST['id']; 

        meinst du das so?

        weil so funktioniert es nicht.

        Kommentar


        • #5
          Hi, in deinem 1. Posting im 1. Select fehlt die Angabe was du selektieren willst (SELECT [hier fehlt was ]FROM) und in deinem UPDATE darf kein Komma vor dem WHERE kommen...

          In deinem letzten Postingfehlt ein Punkt vor dem (int) ...
          [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

          Kommentar


          • #6
            na klar..und ich habe mich immer gefragt warum meine variablen die ich verrechne sozusagen direkt vom formular in die db geschrieben werden... dankeschön!

            Kommentar


            • #7
              Habe hier noch einen Fehler in einer einfachen switch-Anweisung

              diese tut gar nichts und ich weiß nicht warum. Wäre toll wenn ihr mir helfen könntet!

              PHP-Code:
              switch($_POST['match'])
              {
              case 
              "gewonnen";
              $gewonnen 1;
              $unentschieden 0;
              $verloren 0;
              break;
              case 
              "unentschieden";
              $gewonnen 0;
              $unentschieden 1;
              $verloren 0;
              break;
              case 
              "verloren"
              $gewonnen 0;
              $unentschieden 0;
              $verloren 1;

              Kommentar


              • #8
                ich glaube ich sollte für heute schluss amchen. das war eine reine unkonzentriertheit. anstatt einen Doppelpunkt hab ich anch dem Case ein Semikolon gehabt. naja problem gelöst =9

                Kommentar


                • #9
                  braschi, wäre schön, wenn du für verschiedene Themen auch neue Threads startest, das hilft bei der Lesbarkeit.

                  Kommentar

                  Lädt...
                  X