Probleme mit mySQL - DELETE Befehl im PHP Script

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

  • Probleme mit mySQL - DELETE Befehl im PHP Script

    Hallo zusammen.

    Als erstes möchte ich sagen, dass ich neu hier bin und in Sachen PHP und mySQL anfänger bin. Das bischen was ich weiß habe ich mir selbst beigebracht.
    Nun zu meinem Problem:

    Ich habe folgendes geschrieben, um mit aus meiner Tabelle die Daten anzeigen zulassen:

    PHP-Code:
    $sql1 "SELECT * FROM samb WHERE autor LIKE '$autor%' ORDER BY serie";
    $result mysql_query($sql1);
    $anz mysql_num_rows($result);

    if (
    $anz 0){

      echo 
    "<b>Anzahl: ".$anz."</b><br><br>";

          echo 
    "<table border='0' width='100%' align='left'>";

                    echo 
    "<tr>";

                               echo 
    "<td>Serie</td>";
                               echo 
    "<td>Titel</td>";
                               echo 
    "<td>Priorität</td>";
                               echo 
    "<td> &nbsp;</td>";

                     echo 
    "</tr>";

           while (
    $fan mysql_fetch_array($result)){

                     echo 
    "<tr>";

                                echo 
    "<td>".$fan[2]."</td>";
                                echo 
    "<td>".$fan[3]."</td>";
                                echo 
    "<td>".$fan[4]."</td>";
                                echo 
    "<td><a href='anzeige2.php?&id=".$fan[0]." '>Löschen</a></td>";

                     echo 
    "</tr>";

           }

    echo 
    "</table>";

    }else{

      echo 
    "Hier ist zur Zeit leider noch kein Inhalt!";


    Wie man sieht, habe ich als letztes einen Link eingefügt.
    In dem Link übergebe ich die id.
    Ich möchte das dort dieser Datensatz mit dieser id aus der Tabelle gelöscht wird.

    So habe ich versucht es zu lösen:

    PHP-Code:
    $sql "DELETE FROM samb WHERE id='$fan[0]'";
    mysql_query($sql); 
    Es funktioniert nicht.
    Ich weiß das es an der Variablen $fan[0] liegt. Ich weiß nur nicht warum.

    Ich wäre sehr dankbar, wenn mir jemand erklären könnte, warum die Variable nicht berücksichtigt wird.
    Vielleicht kann mit auch jemand eine andere, einfachere, Lösung mitteilen.

    Vielen Dank im Voraus.

    Stephan
    Zuletzt geändert von Stephan75; 20.05.2006, 10:30.

  • #2
    bitte
    http://www.php-resource.de/forum/sho...threadid=50454
    danke


    [edit]
    offensichtlich hast du ihn gefunden ... aber der Source ist ohne &nbsp;s vielleicht doch besser lesbar ^^,

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Mach mal

      echo DELETE FROM samb WHERE id='$fan[0]

      Ob die Variable gefüllt ist...

      Kommentar


      • #4
        1. suche register_globals
        dann wird aus
        WHERE id = ' . $fan[0]
        hoffentlich
        WHERE id = ' . $_GET['fan']
        denn ein Array hast du auch nicht *auf [0] deutet* und die Anführungszeichen im Query kannst du auch weg lassen, bzw. solltest du, weil es nur eine Zahl ist

        zweitens, validierung der get-Parameter
        WHERE id = ' . intval($_GET['fan'])

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Original geschrieben von brusau
          Mach mal

          echo DELETE FROM samb WHERE id='$fan[0]

          Ob die Variable gefüllt ist...
          Die Variable ist nicht gefüllt.

          Original geschrieben von ghostgambler
          1. suche register_globals
          dann wird aus
          WHERE id = ' . $fan[0]
          hoffentlich
          WHERE id = ' . $_GET['fan']
          denn ein Array hast du auch nicht *auf [0] deutet* und die Anführungszeichen im Query kannst du auch weg lassen, bzw. solltest du, weil es nur eine Zahl ist

          zweitens, validierung der get-Parameter
          WHERE id = ' . intval($_GET['fan'])
          Äh wie jetzt???

          Wie gesagt ich bin Anfänger und da ich solche Sachen schlecht aus einem Buch lernen kann (habe es schon x mal versucht), bin ich aufs ausprobieren und nette Leute angewiesen, die mir solche Sachen erklären.

          Also, wie ist das mit register_globals usw...???

          Danke.

          Kommentar


          • #6
            Original geschrieben von Stephan75
            Also, wie ist das mit register_globals usw...???
            wie ich schon sagte, such ... ist nicht gerade das Thema wo 3 Stunden nach Suchen muss ^^,

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              Irgendwie bin ich zu blöd das zu kapieren.

              Kommentar


              • #8
                aber das google hast du das selbe wie ich, oder?

                http://tut.php-q.net/formulare.html
                http://faq-php.de/ch/ch-webvariablen.html
                http://de3.php.net/manual/en/security.globals.php

                Kommentar


                • #9
                  Habe das Problem gelöst. Danke an alle.

                  Kommentar

                  Lädt...
                  X