anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: So 15 Jun, 2025 20:13

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Problem mit update xyz set...
BeitragVerfasst: Mi 07 Feb, 2007 16:45 
Offline
Eingeweihter
Eingeweihter

Registriert: Do 22 Dez, 2005 17:58
Beiträge: 93
LoGD: http://www.legend-green-dragon.de/logd/ ... illage.php
Hallo!

wenn $result Null ist, soll INSERT INTO ausgeführt werden. Sollte es aber einen Wert zurückliefern, soll der Datensatz per UPDATE aktualisiert werden... Allerdings funktioniert es nicht so, wie ich mir es vorgestellt hatte.... :x Was ist hier falsch?

[php]
$result = db_query("SELECT id,bio FROM longbio WHERE id ='$_GET[char]'");

$row = db_fetch_assoc($result);

if($result==""){
$insert = "INSERT INTO longbio (id,bio) VALUES
('".$session[user][login]."','".$_POST[text]."')";
db_query($insert);
}else{

$sql = "UPDATE longbio SET bio='".$_POST[text]."' WHERE id ='$_GET[char]'";

db_query($sql);

}
[/php]


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit update xyz set...
BeitragVerfasst: Mi 07 Feb, 2007 17:22 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
Taraen hat geschrieben:
Hallo!

wenn $result Null ist, soll INSERT INTO ausgeführt werden. Sollte es aber einen Wert zurückliefern, soll der Datensatz per UPDATE aktualisiert werden... Allerdings funktioniert es nicht so, wie ich mir es vorgestellt hatte.... :x Was ist hier falsch?

[php]
#...
[/php]


"$result" enthält natürlich eine valide MySQL-Resource und ist deshalb garantiert nicht leer.

Ein Beispiel, wie man das machst, unter anderem auch in meiner "Ausführlichen Biographie" zu finden für die 1.1.x. Übrigens achte bitte darauf, die Werte zuerst zu entschärfen, bevor du sie in den Query einbindest.

[php]# Aus der Datenbank ein Satz holen...
$result = db_query('SELECT id,bio FROM longbio WHERE id ="'.mysql_real_escape_string(stripslashes($_GET['char'])).'"');

if(db_num_rows($result) === 0) {
# Kein Datensatz
db_query('INSERT INTO `longbio` SET `id` = "'.mysql_real_escape_string(stripslashes($session['user']['login'])).'", `bio` = "'.mysql_real_escape_string(stripslashes($_POST['text'])).'"');
}
else {
# Ein oder mehrere Datensätze
db_query('UPDATE `longbio` SET `bio` = "'.mysql_real_escape_string(stripslashes($_POST['text'])).'" WHERE `id` = "'.mysql_real_escape_string(stripslashes($_GET['char'])).'"');
}[/php]

Alternativ, um einen Query zu sparen:

[php]# Updaten
db_query('UPDATE `longbio` SET `bio` = "'.mysql_real_escape_string(stripslashes($_POST['text'])).'" WHERE `id` = "'.mysql_real_escape_string(stripslashes($_GET['char'])).'"');

if(db_affected_rows() === 0) {
# Kein aktualisierter Datensatz; Kein Datensatz vorhanden; Also erstelle mir einen
db_query('INSERT INTO `longbio` SET `id` = "'.mysql_real_escape_string(stripslashes($session['user']['login'])).'", `bio` = "'.mysql_real_escape_string(stripslashes($_POST['text'])).'"');
}[/php]


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
cron
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum