 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
08.03.2005, 12:24
|
#1
|
|
TP-Senior
Registriert seit: Jul 2002
Ort: Allgäu
|
Replace Into ? Geht nicht
Hallo,
ich habe eine Datensatz Seite. Dort möchte ich, dass die vorhandenden Daten überschrieben bzw ergänzt werden können und dass dann an die Datenbank geschickt wird.
Login unter: Login zur Seite
Benutzername: Gast
Passwort: Gast
Dann gelangt man zur Datenseite. Nach drück auf "Ändern" wird diese an die Seite aendern.php übergeben. Aber leider ohne erfolg.
Was ist falsch? MMhh
Hier der Code der aendern.php:
PHP-Code:
<?php session_start();
require_once("db_connect.inc.php");
?>
<?
if ($_POST["quelle"] == "aendern")
{
$sql = "REPLACE INTO `hotel` ( `id` , `hotelname` , `hotelslogan` , `hotellage2` , `hoteltext` , `ausstattung` , `extras` , `preiseez` , `preisedz` , `strasse` , `plz` , `ort` , `bundesland` ,`letzteAenderung`, `info1` , `info2` , `info3` , `info4` , `info5` , `usp` ,`usp2` , angebote` , `va` , `kategorie` , `standart` , `qualitaet` , ) ";
$sql.= "VALUES ('', '".$_SESSION["id"]."', '".$_POST["hotelname"]."', '".$_POST["hotelslogan"]."', '".$_POST["hotellage2"]."', '".$_POST["hoteltext"]."', '".$_POST["ausstattung"]."', '".$_POST["extras"]."', '".$_POST["preiseez"]."', '".$_POST["preisedz"]."', '".$_POST["strasse"]."', '".$_POST["plz"]."', '".$_POST["ort"]."', '".$_POST["bundesland"]."', NOW( ), '".$_POST["info1"]."', '".$_POST["info2"]."', '".$_POST["info3"]."', '".$_POST["info4"]."', '".$_POST["info5"]."', '".$_POST["usp"]."', '".$_POST["usp2"]."', '".$_POST["angebote"]."', '".$_POST["va"]."', '".$_POST["kategorie"]."', '".$_POST["standart"]."', '".$_POST["qualitaet"]."',)";
//echo $sql;
mysql_query($sql, $db);
require_once("eingetragen.htm");
}
?>
Gerne sende ich auch die Seite an "PM".
DANKE für die Hilfe
Thomas
|
|
|
08.03.2005, 12:36
|
#2
|
|
TP-Special Mod
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
|
Ich kann wiederum nur für Oracle-SQL sprechen, und da gehts so:
update DATENBANK set FELD = WERT where BEDINGUNG
evtl hilfts Dir ja...
|
|
|
08.03.2005, 12:44
|
#3
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Auszug aus der Doku von MySQL:
REPLACE works exactly like INSERT, except that if an old record in the table has the same value as a new record for a PRIMARY KEY or a UNIQUE index, the old record is deleted before the new record is inserted. See Section 13.1.4, “INSERT Syntax”.
Note that unless the table has a PRIMARY KEY or UNIQUE index, using a REPLACE statement makes no sense. It becomes equivalent to INSERT, because there is no index to be used to determine whether a new row duplicates another.
Ich würde in jedem Fall mit Update arbeiten.
|
|
|
08.03.2005, 12:50
|
#4
|
|
TP-Senior
Registriert seit: Jul 2002
Ort: Allgäu
|
Hallo,
mit Update oder auch Replace habe ich bis dato nicht gearbeitet. Könnte mir bitte jemand sagen wie vielleicht es mit Update heissen würde der Code?
DANKE
Thomas
|
|
|
08.03.2005, 13:26
|
#6
|
|
TP-Senior
Registriert seit: Jul 2002
Ort: Allgäu
|
Hat keiner einen Rat. Es geht leider nicht.
Thomas
|
|
|
08.03.2005, 13:34
|
#7
|
|
TP-Junior
Registriert seit: Nov 2004
|
Nochmal: Von wo kommt "quelle" in $_POST["quelle"]?
Ich sehe in Deinem form nirgends den namen "quelle". Wird die if-Anweisung überhaupt erfüllt?
|
|
|
08.03.2005, 13:58
|
#8
|
|
TP-Senior
Registriert seit: Jul 2002
Ort: Allgäu
|
Hallo,
ja die stehen drinnen, war oben noch nicht drinnen. Jetzt sind Sie eingetragen.
habe die Daten so abgeändert:
PHP-Code:
<?php
$db = mysql_connect("localhost","xxx","xxx");
mysql_select_db("xxxx",$db);
?>
<?
if ($_POST["quelle"] = "aendern")
{
$sql = "REPLACE INTO `hotel` (`id` ,`hotelname` , `hotelslogan` , `hotellage2` , `hoteltext` , `ausstattung` , `extras` , `preiseez` , `preisedz` , `strasse` , `plz` , `ort` , `bundesland` ,`letzteAenderung`, `info1` , `info2` , `info3` , `info4` , `info5` , `usp` ,`usp2` , angebote` , `va` , `kategorie` , `standart` , `qualitaet`) ";
$sql.= "VALUES ('', '".$_POST["hotelname"]."', '".$_POST["hotelslogan"]."', '".$_POST["hotellage2"]."', '".$_POST["hoteltext"]."', '".$_POST["ausstattung"]."', '".$_POST["extras"]."', '".$_POST["preiseez"]."', '".$_POST["preisedz"]."', '".$_POST["strasse"]."', '".$_POST["plz"]."', '".$_POST["ort"]."', '".$_POST["bundesland"]."', NOW( ), '".$_POST["info1"]."', '".$_POST["info2"]."', '".$_POST["info3"]."', '".$_POST["info4"]."', '".$_POST["info5"]."', '".$_POST["usp"]."', '".$_POST["usp2"]."', '".$_POST["angebote"]."', '".$_POST["va"]."', '".$_POST["kategorie"]."', '".$_POST["standart"]."', '".$_POST["qualitaet"]."')";
echo $sql;
mysql_query($sql, $db);
require_once("eingetragen.htm");
}
?>
Er sagt auch die Bestätigung am Ende. Aber er ändert nichts ?
GRR.
Danke
Thomas
|
|
|
08.03.2005, 14:14
|
#9
|
|
TP-Junior
Registriert seit: Nov 2004
|
Hast Du's denn jetzt mal versucht mit UPDATE?
Bei UPDATE muss der Tabellenname, in Deinem Fall hotel, nicht in Anführungszeichen stehen. Wie das bei REPLACE INTO ist, weiss ich nicht. Ich benutze jeweils UPDATE.
|
|
|
08.03.2005, 14:38
|
#10
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Zitat:
|
Zitat von candul
Bei UPDATE muss der Tabellenname, in Deinem Fall hotel, nicht in Anführungszeichen stehen. Wie das bei REPLACE INTO ist, weiss ich nicht. Ich benutze jeweils UPDATE.
|
Das stimmt nicht. MySQL-Konvention schreibt vor, Alle Namen (DB,Tabellen und Felder) in Hochticks (`) zu schreiben. Man sollte sich das angewöhnen, da es sonst zu Fehlern kommen könnte (Beispiel reservierte Wörter)
|
|
|
08.03.2005, 14:49
|
#11
|
|
TP-Junior
Registriert seit: Nov 2004
|
Aha, gut zu wissen :-) Bei mir hat's bis jetzt immer funktioniert, weil ich keine reservierten Wörter als Tabellen- oder Feldnamen benutze. Ich werd's mir angewöhnen ;-) Thx!
|
|
|
08.03.2005, 15:23
|
#12
|
|
TP-Senior
Registriert seit: Jul 2002
Ort: Allgäu
|
Hallo,
habe es auch mit Update probiert aber kein Erfolg.
Zur Seite
Benutzername: Gast
Passwort: Gast
Ich probiere und probiere....
Danke für die rege Hilfe bis jetzt.
PHP-Code:
$sql = "UPDATE hotel (`id`, `hotelname`, `hotelslogan`, `hotellage2`, `hoteltext`, `ausstattung`, `extras`, `preiseez`, `preisedz`, `strasse`, `plz`, `ort`, `bundesland`, `letzteAenderung`, `info1`, `info2`, `info3`, `info4` `info5`, `usp`,`usp2`, angebote`, `va`, `kategorie`, `standart`, `qualitaet`) ";
$sql.= "VALUES ('".$_SESSION["id"]."', '".$_POST["hotelname"]."', '".$_POST["hotelslogan"]."', '".$_POST["hotellage2"]."', '".$_POST["hoteltext"]."', '".$_POST["ausstattung"]."', '".$_POST["extras"]."', '".$_POST["preiseez"]."', '".$_POST["preisedz"]."', '".$_POST["strasse"]."', '".$_POST["plz"]."', '".$_POST["ort"]."', '".$_POST["bundesland"]."', NOW( ), '".$_POST["info1"]."', '".$_POST["info2"]."', '".$_POST["info3"]."', '".$_POST["info4"]."', '".$_POST["info5"]."', '".$_POST["usp"]."', '".$_POST["usp2"]."', '".$_POST["angebote"]."', '".$_POST["va"]."', '".$_POST["kategorie"]."', '".$_POST["standart"]."', '".$_POST["qualitaet"]."')";
echo $sql;
mysql_query($sql, $db);
require_once("eingetragen.htm");
|
|
|
08.03.2005, 15:59
|
#13
|
|
TP-Junior
Registriert seit: Nov 2004
|
Aber warum denn nicht so ähnlich, wie es in dem von mir geposteten Link beschrieben ist?
$sql = "UPDATE 'hotel' SET hotelname=\"" . $_POST['hotelname']. "\", hotelslogan=\"" . $_POST['hotelslogan'] . "\")";
|
|
|
08.03.2005, 16:06
|
#14
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
warum nich mysql fragen ???
mysql_query($sql, $db) || die(mysql_error());
|
|
|
08.03.2005, 16:19
|
#15
|
|
TP-Senior
Registriert seit: Jul 2002
Ort: Allgäu
|
Zitat:
|
Zitat von St@eff.en
warum nich mysql fragen ???
mysql_query($sql, $db) || die(mysql_error());
|
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 '(`id`, `hotelname`, `hotelslogan`, `hotellage2`, `hoteltext`, `
Ich ändere es mal so um wie von CANDUL beschrieben.
Thomas
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
| | |