Update von Mysql mit if Regeln

schnitzelbäcker

Grünschnabel
Hi,

ich hab eine kleine bitte an Euch. Schaut mal bitte über diesen Code(vereinfacht dargestellt). Was ich damit machen will ist ganz einfach. Die Daten die in der Datenbank stehen, sollen geupdatet werden und zuvor soll nur nachgesehen werden ob die Felder ausgefüllt wurden sind. Nicht mehr und nicht weniger.

Fehlermeldung ist: Es ist ein Fehler beim Speichern aufgetreten. Unbekannter Fehler

PHP:
//SQL-Befehl zum eintragen der Daten in die Tabelle
$query = ("Update test set 
				name


				WHERE testnr = '$testr'

				) 
				
				VALUES 
				
				(

				'".$name."'"); 


 if(isset($btn_submit_update))
{
        $help = true;
        if(!isset($name)||empty($hname))
        {
               $help = false;
               $Error_str .= "<br>Hersteller Fehlt ";
        }
  
        if($help)
        {
               if(!$result = @mysql_query($query, $link))
               {
               		echo  "Daten wurden gespeichert.";

               }
               else
               {
			            				           
			echo  "Es ist ein Fehler beim Speichern aufgetreten. Unbekannter Fehler ";

               }
        }
        else
        {      				           
        		echo  "Folgende Angaben fehlen noch. ".$Error_str."";
        }
}

Hoffe der Code ist so lesbar für euch.:-)

Danke euch schon mal;)
 
PHP:
<?php 

$query = ("UPDATE
            test 
           SET
              name = '".$name."'
           WHERE 
              testnr = '".$testr."'
           "); 


 if(isset($btn_submit_update))
{
        $help = true;
        if(!isset($name)||empty($hname))
        {
               $help = false;
               $Error_str .= "<br>Hersteller Fehlt ";
        }
  
        if($help)
        {
               if(!$result = @mysql_query($query, $link))
               {
                       echo  "Daten wurden gespeichert.";

               }
               else
               {                             
                       echo  "Es ist ein Fehler beim Speichern aufgetreten. Unbekannter Fehler ";
               }
        }
        else
        {                                 
                echo  "Folgende Angaben fehlen noch. ".$Error_str."";
        }
}   
?>

Schaue dir mal noch mal den UPDATE-Prozess an...

Und wenn du das veröffentlichen willst werde dir bitte der Verwendung von "mysql_real_escape_string" bewusst ;)
 
mysql_error();

ist eine Funktion, die den Fehler in der Syntax des MSQL-Aufrufs ausgibt. Aber so wie ich den Code oben umgeschrieben habe müsste es eigentlich funktionieren.
(Fehler war in der Syntax des Querys)
 
PHP:
<?php 

$query = ("UPDATE
            test 
           SET
              name = '".$name."'
           WHERE 
              testnr = '".$testr."'
           "); 


 if(isset($btn_submit_update))
{
        $help = true;
        if(!isset($name)||empty($hname))
        {
               $help = false;
               $Error_str .= "<br>Hersteller Fehlt ";
        }
  
        if($help)
        {
               if(!$result = @mysql_query($query, $link))
               {
                       echo  "Daten wurden gespeichert.";

               }
               else
               {                             
                       echo  "Es ist ein Fehler beim Speichern aufgetreten. Unbekannter Fehler ";
               }
        }
        else
        {                                 
                echo  "Folgende Angaben fehlen noch. ".$Error_str."";
        }
}   
?>

Schaue dir mal noch mal den UPDATE-Prozess an...

Und wenn du das veröffentlichen willst werde dir bitte der Verwendung von "mysql_real_escape_string" bewusst ;)


Danke dir für die hilfe habe deinen code ausprobiert und natülich die rechtschriebfehler vor gefunden, aber ich muß die leider sagen der fehler ist immer noch der selbe.

das mit dem mysql_real_escape_string habe ich nicht ganz verstanden, was meinst du damit? diesen befehl nutze ich doch garnicht oder etwa doch?

sorry aber wie du merkst bin ich noch purer anfänger.^^
 
mysql_real_escape_string ist dazu da dass kein SQL-Code in der Variable steht, kurz, dass der potentielle Hacker keinen Zugriff auf die DB bekommt... - eben weil du ihn nicht benutzt soltest du ihn dir mal anschauen ;)

Ansonsten weiß ich auch nicht warum der Code nicht funktioniert. Poste dann doch mal mysql_error(); (wie schon vorgeschlagen ;))
 
mysql_real_escape_string ist dazu da dass kein SQL-Code in der Variable steht, kurz, dass der potentielle Hacker keinen Zugriff auf die DB bekommt... - eben weil du ihn nicht benutzt soltest du ihn dir mal anschauen ;)

Ansonsten weiß ich auch nicht warum der Code nicht funktioniert. Poste dann doch mal mysql_error(); (wie schon vorgeschlagen ;))

dank dir für den Tipp, werde ich machen.

Der Felhler ist immer noch der selbe, den den ich oben beschrieben habe. der code geht, aber er übergibt warscheinlich keine werte, weil ohne if geht das update ja auch. mit if kommt immer wieder die anweisung vin if: Es ist ein Fehler beim Speichern aufgetreten. diesen habe ich ja deviert aber ich bekomme es nicht hin das er die wert prüft und wenn alles ok ist soll er das update ausführen.

danke dir für deine gedult
 
ersetze mal

PHP:
if(!$result = @mysql_query($query, $link))
               {
durch
PHP:
$result = mysql_query($query, $link) OR die (mysql_error());
if(is_resource($result))
 {

und ich vermute mal, dass die Negation (das Ausrufezeichen) da nicht hingehört.
 
ersetze mal

PHP:
if(!$result = @mysql_query($query, $link))
               {
durch
PHP:
$result = mysql_query($query, $link) OR die (mysql_error());
if(is_resource($result))
 {

und ich vermute mal, dass die Negation (das Ausrufezeichen) da nicht hingehört.

Dieser Befehl bewirk das selbe. ich weis einfach auch nicht weiter im www finde ich leider auch nicht mehr dazu.:(


sorry aber ich muss noch was hinzufügen.

jetzt ändert er die daten in der msqyl, aber der fehler wir immer noch angezeit: Es ist ein Fehler beim Speichern aufgetreten

was soll das denn jetzt
 
Zuletzt bearbeitet:
Zurück