Schleife

Gumbo hat gesagt.:
Du gehst zwar in dem ersten while()-Konstrukt alle Datensätze durch, doch da die UPDATE-Abfrage erst außerhalb des Konstrukts stattfindet, bleiben immer nur die Daten des letzten Durchlaufs übrig.

Das meinte ich ja, was muss ich aber tun, damit er ALLE Updatet ;)
 
Das senden des Querys an die Datenbank musst du ebenfalls in der while-Schleife machen.
PHP:
while ($ausgabe = mysql_fetch_array ($result)){

// $dbverbindung_up = mysql_connect($server, $user, $password);
// Überflüssig, da Verbindung immernoch besteht

$id = $ausgabe[id];
$link = $ausgabe[link];
$infoid = $ausgabe[infoid];
$name = $ausgabe[name]; 
$size = $ausgabe[size];
$lastupdate = $ausgabe[lastupdate];
$tracker = $ausgabe[tracker];


$dbanfrage_up = "UPDATE cm_dl_info SET link = '$link', dlname = '$name', size = '$size', lastupdate = '$lastupdate', tracker = '$tracker' WHERE id = '$infoid'"; // Query definieren

mysql_query($dbanfrage_up)or die(mysql_error());  // Query an DB senden (in der while-Schleife)
}
 
Zuletzt bearbeitet:
Funktioniert soweit. Allerdings bricht er nach kurzer Zeit ab (ein paar hat er editiert).

Fehlermeldung:

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 '%20Teil%201%20&%202', dlname = 'Download: CD1 & CD2', size = '1
 
Das heist nichts anderes als das dein SQL string nicht OK ist bzw noch genauer das das Problem irgendwo in diesem Teil liegt ('%20Teil%201%20&%202', dlname = 'Download: CD1 & CD2', size = '1).
Das Script passt also soweit ich denke mir es könnte evtl an den % liegen das du diese erst escapen müsstest.
 
grrrr...

Bei diesem Code hier:

PHP:
<?

require("config2.php");

$dbverbindung = mysql_connect($server, $user, $password);

$dbanfrage = "SELECT * from cm_dl_links ORDER BY id";

$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);

while ($ausgabe = mysql_fetch_array ($result)){

$id = $ausgabe[id];
$link = $ausgabe[link];
$infoid = $ausgabe[infoid];
$name = $ausgabe[name];
$size = $ausgabe[size];
$lastupdate = $ausgabe[lastupdate];
$tracker = $ausgabe[tracker];


$dbanfrage_up = "UPDATE cm_dl_info SET link = '$link', dlname = '$name', size = '$size', lastupdate = '$lastupdate', tracker = '$tracker' WHERE id = '$infoid'";

mysql_query($dbanfrage_upor die(mysql_error())
mysql_real_escape_string($link));
}

?>

Kommt diese Fehlermeldung.


PHP:
Parse error: parse error, unexpected T_EXIT in /website/dbchange.php on line 24

Line 24 ist:

PHP:
mysql_query($dbanfrage_upor die(mysql_error())

Was habe ich nun wieder falsch gemacht... ahh :(
 
Zuletzt bearbeitet:
muss ich:

mysql_query($dbanfrage_upor die(mysql_error())
mysql_real_escape_string($link));

so schreiben?

mysql_query($dbanfrage_up or die(mysql_error())
mysql_real_escape_string($link));

Ich bin momentan ziemlich ratlos...
 
Zurück