datenbankeintrag ändern

tmaniacr

Grünschnabel
ich möchte über ein php-script einen datenbankeintrag ändern:

$sql = 'UPDATE `erzhausen` SET `name` = \'blabla\','
. ' `vorname` = \'blabla\','
. ' `addresse` = \'blabla\','
. ' `postleitzahl` = \'blabla\','
. ' `telefon` = \'blabla\' WHERE `id` = \'1\' LIMIT 1 ;'
. ' ';
mysql_query($sql);

in der zeile mit der id: "1" werden die spalten:

name,vorname,addresse,postleitzahl,telefon

mit dem inhalt "blablabla" versehen

ich möchte jetzt aber anstelle des textes "blablabla" ,den wert einer variable übernehmen.wie muss ich die variable schreiben ?

text:

. ' `vorname` = \'blabla\','

variable statt text:

?


des weiteren soll die änderung nicht in der zeile mit id:"1" geschehen, sondern in der zeile, die 2 spalten enthält (name,vorname)
mit dem inhalten (müller,hans) welche
durch die variablen ($name,$vorname)
angegeben sind.wie muss ich die beiden variablen eintragen?

vorher:

WHERE `id` = \'1\' LIMIT 1 ;'

nachher:

?


hoffe alle kommen noch mit : )

mfg
 
Versuch mal folgendes:
PHP:
<?php
  [...]
  $query = "
	UPDATE
	        `erzhausen`
	  SET
	        `name`	     = '".mysql_escape_string($variable1)."',
	        `vorname`      = '".mysql_escape_string($variable2)."',
	        `addresse`     = '".mysql_escape_string($variable3)."',
	        `postleitzahl` = '".mysql_escape_string($variable4)."',
	        `telefon`      = '".mysql_escape_string($variable5)."'
	  WHERE
	        `name`    = '".mysql_escape_string($variable6)."'
	    AND `vorname` = '".mysql_escape_string($variable7)."'
	";
  if( !mysql_query($query) ) {
    echo '<p><strong>MySQL Error <tt>'.mysql_errno().'</tt>:</strong> '.htmlspecialchars(mysql_error()).'<pre>'.$query.'</pre></p>';
    exit;
  }
  [...]
?>
 
Wobei die von Gumbo richtiger und sicherer ist!

Da ich jetzt aber nachfragen muss - ich will ja auch was lernen :-)

Inwieweit sicherer?
Wenn mich meine Englischkenntnisse nicht täuschen, dann setzt gumbo vor jedes in der Variable auftauchende " einen \

Müsste da nicht sowieso eine Fehlermeldung auftauchen, wenn eine Variable mit " zu übergeben versucht wird?

Ich setze halt bisher, wenn die Eingaben " zulassen oder erfordern ein addslashes() um die Variable.

cu shutdown
 
Zurück