Datenbank ändern
Stephan
- php
Hi,
also mein Prob von gestern abend habe ich jetzt gelöst (DB muss man verbinden ;-) )
Jetzt habe ich ein neues (anderes):
Ich übergebe Werte, die auch bei echo korrekt angezeigt werden. DIese werden aber nicht in die Datenbank eingetragen. Ich bekomme aber auch keine Fehler...
Woran kann das liegen?
Danke schonmal
Stephan
PS:
Code:
<?php
$text = mysql_escape_string($text);
$titel = mysql_escape_string($titel);
$img = mysql_escape_string($img);
$id = mysql_escape_string($id);
echo " $text $titel $img $id";
$db = @mysql_pconnect($host, $user, $pass) or die ("Verbindung mit MySQL-Server fehlgechlagen!");
@mysql_select_db($database, $db) or die ("Verbindung zur Datenbank fehlgeschlagen!");
$query = "UPDATE news SET titel = '$titel', text = '$text', img = '$img' WHERE id = 'id'";
if($insert = @mysql_query("$query")) {
echo '<p align="center">Der Eintrag wurde erfolgreich geändert!<br><br><a href="index.php"><- zurück</a></p>';
echo mysql_error();
}else{
echo '<p align="center">Leider konnte der Eintrag nicht geändert werden. Bitte versuchen Sie es später noch einmal.<br><br><a href="index.php"><- zurück</a><br><br> </p>';
echo mysql_error();
}
?>
Hi,
bist du dir sicher, dass du keinen Fehler bekommst?
if($insert = @mysql_query("$query")) {
echo '<p align="center">Der Eintrag wurde erfolgreich geändert!<br><br><a href="index.php"><- zurück</a></p>';
echo mysql_error();
}else{
echo '<p align="center">Leider konnte der Eintrag nicht geändert werden. Bitte versuchen Sie es später noch einmal.<br><br><a href="index.php"><- zurück</a><br><br> </p>';
echo mysql_error();
}
Du hast dort in HTML stehen
<- zurück
oder anders gesprochen, du hast gerade ein Tag - eingeführt (oder es zumindest versucht). Da du dieses Tag aber nirgends schließt, wird auch der nachfolgende Inhalt, also ein eventuelles mysql_error gar nicht angezeigt, sondern vom Browser als Quelltext verschluckt. Korrekt müsste es heißen
<- zurück
Ansonsten hilft auch imer wieder
echo $query;
und das dann mal von Hand in PHPMyAdmin oder so gegen die Datenbank feuern und gucken ob's dann klappt.
MfG
Rouven
Hi,
keine Änderung bei dem <-...
Ansonsten hilft auch imer wieder
echo $query;
und das dann mal von Hand in PHPMyAdmin oder so gegen die Datenbank feuern und gucken ob's dann klappt.
Wei mit Hand... :-?
Danke schonmal
Stephan
Hallo,
Woran kann das liegen?
Ohne die _richtige_ Query zu sehen kann man nur Glaskugeln.
Und das macht mir gerade keinen Spass.
Lass Dir mal die Query anzeigen, unmittelbar bevor Du
sie an die Datenbank uebergibst:
echo $query;
Wenn Du dann immer noch keinen Fehler siehst, poste hier die Query.
Im "Erfolgsfall" kannst Du ja auch schauen, wieviele Reihen
betroffen waren von dem UPDATE:
http://www.php.net/manual/de/function.mysql-affected-rows.php
Gruesse,
Thomas
Hi, er gibt das aus:
UPDATE news SET titel = 'Test', text = 'Testttadsasdasd', img = 'Google' WHERE id = 'id'
Also wird die ID nicht übergeben, warum nicht, das sieht so aus:
error_reporting(E_ALL);
if(isset($_GET['article'])) { // guckt nach ob 'xy' übergeben wurde
include ("config.inc.php");
$db = @mysql_pconnect($host, $user, $pass) or die ("Verbindung mit MySQL-Server fehlgechlagen!");
@mysql_select_db($database, $db) or die ("Verbindung zur Datenbank fehlgeschlagen!");
$sql = "SELECT * FROM news WHERE id = '$article'";
$result = mysql_query($sql,$db);
while ($row = mysql_fetch_array($result)) {
$titel = $row['titel'];
$img = $row['img'];
$id = $row['id'];
$text = $row['text'];
Danke schonmal
Stephan
Hallo,
Kein Wunder, wenn Du das so befiehlst:
$query = "UPDATE [...] WHERE id = 'id'";
wuerde ich das auch so ausgeben...
UPDATE [...] WHERE id = 'id'
Wenn der Wert eine Zahl sein soll, solltest Du
uebrigens die Anfuehrungszeichen weglassen.
UPDATE [...] WHERE id = 55
Gruesse,
Thomas
Moin,
$query = "UPDATE news SET titel = '$titel', text = '$text', img = '$img' WHERE id = 'id'";
Versuch es mal so:
$query = "UPDATE news SET titel = ".$titel.", text = ".$text"., img = ".$img." WHERE id = ."id." ";
Beachte die Hochkommatas. Was gibt ein echo mysql_affected_rows(); ?
Stefan
Hi!
$query = "UPDATE news SET titel = '$titel', text = '$text', img = '$img' WHERE id = 'id'";
Nun,
Zusammenfassung der anderen Postings:
MfG
Rouven