Query was empty

alexorg

Mitglied
hallo habe folgendes problem:

immer wenn ich in der mysql datenbank etwas ändern möchte und dann im php script auf absenden klicke kommt ne fehlermeldung "Query was empty" woran liegts und wie bekomme ich es weg...

hier ist der teil der für das updaten verantwortlich ist:

PHP:
//Datei bearbeiten

if($action==bearbeiten)
   {
       $bearbeiten=mysql_query("SELECT* FROM mthphplink WHERE id='$id'");
       $daten=mysql_fetch_array($bearbeiten);
       $daten[beschreibung]=str_replace("<br>", "", $daten[beschreibung]);
       
       print "<form action=\"index.php?style=edit&action=bearbeiten2&id=$id\" method=\"POST\">";
       print "<center>";
       //Tabelle
       print "<table width=\"500\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
             print "<tr bgcolor=\"$tabelle\">";
             print "<td><div align=\"left\"><input type=\"text\" name=\"name\" value=\"$daten[name]\"></div></td>";
             print "<td><div align=\"right\">Visits = <b>$daten[visits]</b></div></td>";
             print "</tr> </table>";
       print "<table width=\"500\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"$bordercolor\">";
             print "<tr>";
             print "<td> <textarea name=beschreibung cols=35 rows=6>$daten[beschreibung]</textarea></td>";
             print "</tr> </table>";
       print "<table width=\"500\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
             print "<tr bgcolro=\"$tabelle\">";
             print "<td><div align=\"left\">Link <input type=\"text\" name=\"linx\" value=\"$daten[linkx]\"></div></td>";
             print "<td><div align=\"right\"><input type=\"submit\" value=\"Update\"></div></td>";
             print "</tr> </table> <br><br>";
             print "</center>";
             exit;
             }
             
//Datei updaten
  
if($action==bearbeiten2)
  {
      $beschreibung=nl2br($beschreibung);
      $beschreibung=str_replace("<br />", "<br>", $beschreibung);
      $anfrage=="UPDATE mthphplink SET name='$name', linkx='$linkx', beschreibung='$beschreibung', visits='$visits' WHERE id='$id'";
      $ergebnis=mysql_query($anfrage);
      if (! $ergebnis)
         die ("Konnte Datensatz nicht updaten ;".mysql_error() );
         print mysql_affected_rows();
         print (" alles o.k!");
         print $umleitung;
         exit;
     }
     
//Datei löschen

if($action==delete)
   {
       $bearbeite=mysql_query("SELECT * FROM mthphplink WHERE id '$id'");
       $dat1=mysql_fetch_array($bearbeite);
        print "<form action=\"index.php?style=edit&action=delete2&id$id\" method=\"POST\">";
        print "<center>";
        print "<table width=\"500\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
             print "<tr bgcolor=\"$tabelle\">";
             print "<td><div align=\"left\">$dat1[name]</div></td>";
             print "<td><div align=\"right\">Visits = <b>$dat1[visits]</b></div></td>";
             print "</tr> </table>";
       print "<table width=\"500\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" bordercolor=\"$bordercolor\">";
             print "<tr>";
             print "<td><div align=\"center\"> $dat1[beschreibung]</div></td>";
             print "</tr> </table>";
       print "<table width=\"500\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
             print "<tr bgcolro=\"$tabelle\">";
             print "<td><div align=\"left\">Link $dat1[linkx]</div></td>";
             print "<td><div align=\"right\"><input type=\"submit\" value=\"Delete\"></div></td>";
             print "</tr> </table> <br><br>";
             print "</center>";
             exit;
       }
//Datei löschen bestätigen

if($action==delete2)
  {
      $bearbeiten="DELETE FROM mthphplink WHERE id='$id'";
      $del=mysql_query($bearbeiten);
           if(!$del)
             {
                 print "error!";
                 }
           else
             {
                 print "alles o.k!";
                 print $umleitung;
                 exit;
                 }
             
      }
 
Hi,

Probier mal

PHP:
$anfrage=="UPDATE mthphplink SET name='$name', linkx='$linkx', beschreibung='$beschreibung', visits='$visits' WHERE id=$id";

anstatt

PHP:
$anfrage=="UPDATE mthphplink SET name='$name', linkx='$linkx', beschreibung='$beschreibung', visits='$visits' WHERE id='$id'";

also ohne die ' ' bei der ID am schluss...
Was anderes würde ich jetzt auch nicht sehen. Wenns nicht klappt, das ganze im PHP Forum Posten... liegt imo eher irgendwo im Skript als an der DB selbst...


ciao
 
Meine Ansicht nach kann es auch an den Apostrophen bei dem INT-Feld liegen. Ich geh einfach mal davon aus, dass es sich bei der ID um einen INT handelt. Da dürfen dann keine Apostrophe sein. Um diesem Konflikt ganz aus dem Wege zu gehen, sollte man einfach statt '$variable' immer '".$variable."' schreiben. So habe ich persönlich jedenfalls noch nie einen Fehler bekommen, dass ein Wert auf Grund seines Typs nicht angenommen werden konnte!
 

Neue Beiträge

Zurück