php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-03-2005, 14:22
Godfrey
 Junior Member
Links : Onlinestatus : Godfrey ist offline
Registriert seit: Jan 2005
Beiträge: 126
Godfrey ist zur Zeit noch ein unbeschriebenes Blatt
Standard [MySQL 4.1] verwenden von DECODE

Hallo Leute,

brauche mal wieder ein wenig Hilfe. Entweder bin ich zu doof oder mein Englisch reicht nicht aus um die diversen Lösungen zu verstehen.

Ich möchte, wie es in SQL möglich ist, einen DECODE verwenden:
PHP-Code:
DECODE ('$pic_name'''path_pic'$path_pic'
Sollte eigentlich so funktionieren:
Wenn $pic_name == '' dann lass den Eintrag in der DB unverändert. Anderenfalls nimm den Wert aus der Hostvariablen.
Mit Zitat antworten
  #2 (permalink)  
Alt 04-03-2005, 14:36
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hm... was ist denn DECODE für eine Funktion? Die von MySQL ist es nicht, oder? Oder ist das eine von dir selbst erfundenen Funktion, welche noch implementiert werden muß?

Willst du eigentlich nur ein UPDATE mit der genannten Bedingung oder was? Wenn ja:

update ... set field = if(field='',field,'whatever') ...
Mit Zitat antworten
  #3 (permalink)  
Alt 04-03-2005, 14:47
Godfrey
 Junior Member
Links : Onlinestatus : Godfrey ist offline
Registriert seit: Jan 2005
Beiträge: 126
Godfrey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

DECODE ist eigentlich ein Schlüsselwort in SQL. Unter Oracle wird das sehr häufig verwendet. Möglich, dass es unter MYSQL nicht vorhanden ist.

Vielleicht sollte ich das ganze Update anführen:
PHP-Code:
UPDATE rez_rezept
   SET name 
'$rez_name',
      ....
      
path_pic DECODE ('$pic_name'''path_pic'$path_pic'),
      ....
 
WHERE id   $id
Aber ich werde Deine Lösung mal einbauen. Danke

Geändert von Godfrey (04-03-2005 um 14:50 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 04-03-2005, 14:52
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von Godfrey
DECODE ist eigentlich ein Schlüsselwort in SQL. Unter Oracle wird das sehr häufig verwendet.
die Struktur kommt mir daher auch irgendwie bekannt vor, da ich aber selten mit Oracle zu tun habe, war ich mir nicht sicher . Trotz allem, du kannst nicht Oracle speziefische Funktionen anderswo erwarten. Probiere meine Version aus. IMHO sie macht das, was du willst.
Mit Zitat antworten
  #5 (permalink)  
Alt 04-03-2005, 15:14
Godfrey
 Junior Member
Links : Onlinestatus : Godfrey ist offline
Registriert seit: Jan 2005
Beiträge: 126
Godfrey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ehmmm, Sorry, aber Schlüsselwort ist hier der falsche Begriff, es ist ein Funktion unter Oracle, eventuell auch generell für SQL, aber das weiss ich auch nicht so genau.

Ich setze auch nicht prinzipiell darauf, dass solche Funktionen auch in MYSQL vorhanden sind. Aber ich habe folgendes gefunden und das sollte eigentlich auch funktionieren:

http://dev.mysql.com/doc/maxdb/en/cf...61/content.htm

Also eigentlich genau das was ich machen will. Scheint aber doch anderes zu funktionieren, oder habs einfach wirklich nicht geblickt.

Aber egal, habe mal Deine Lösung eingebaut und im Moment geht die auch nicht. Keine Ahnung was ich da falsch mache, aber ich brüte grad drüber.
PHP-Code:
mysql_query("
    UPDATE rez_rezept
       SET name = '$rez_name',
...
       path_pic = if('$pic_name'='',path_pic,'$path_pic'),
...
       WHERE id  = $id"
("
... 
Trotzdem die Hostvariable $pic_name gefüllt ist ändert er mir den Wert nicht ab.
Mit Zitat antworten
  #6 (permalink)  
Alt 04-03-2005, 15:25
asp2php
 Banned
Links : Onlinestatus : asp2php ist offline
Registriert seit: Feb 2004
Beiträge: 11.745
asp2php ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hm.. das ist aber von MaxDB und hat nichts mit MySQL zu tun.

Mach mal:

PHP-Code:
 $sql =("
    UPDATE rez_rezept
       SET name = '$rez_name',
...
       path_pic = if('$pic_name'='',path_pic,'$path_pic'),
...
       WHERE id  = $id..."
;
mysql_query($sql) or die('sql = '.$sql.'<br />Error: '.mysql_error()); 
und schau dir die Fehlermeldung an, oder poste sie mal.
Mit Zitat antworten
  #7 (permalink)  
Alt 04-03-2005, 15:36
Godfrey
 Junior Member
Links : Onlinestatus : Godfrey ist offline
Registriert seit: Jan 2005
Beiträge: 126
Godfrey ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also ich hab im Moment keine Ahnung warum, aber so funktioniert es. Möglicherweise ein falsch gesetztes Satzzeichen? Aber ich hab mein Statement nur in Deine Funktion eingesetzt...

Naja, es läuft und man soll sich manchmal nicht Wundern warum.

Danke für die Hilfe.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Software für alle Arten von digitalen Marktplätzen
Software für alle Arten von digitalen MarktplätzenDigitale Marktplätze sind nicht nur im B2C Geschäft seit Jahren etabliert, sondern erfreuen sich mit Kleinanzeigen-Märkten auf lokaler und regionaler Ebene auch im privaten Bereich wachsender Beliebtheit.

09.11.2021 | Berni

Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft haben
Von 0 auf über 2 Mio € Umsatz in weniger als 12 Monaten – wie die Pixelwerker das nur durch SEO geschafft habenSEO oder SEA? Warum SEO die besserer Methode ist.

01.10.2021 | Berni


 

Aktuelle PHP Scripte

ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script ansehen ebiz-trader 6.0 - Das professionelle PHP Marktplatz Script

Mit unserer Lösungen können Sie nahezu jeden B2B / B2C Marktplatz betreiben den Sie sich vorstellen können. Ganz egal ob Sie einen Automarktplatz, Immobilenportal oder einfach einen Anzeigenmarkt betreiben möchten. Mit ebiz-trader können Sie Ihre Anforder

09.11.2021 Berni | Kategorie: PHP/ Anzeigenmarkt
PHP Newsletter Script SuperWebMailer ansehen PHP Newsletter Script SuperWebMailer

Die webbasierte PHP Newsletter Software SuperWebMailer ist die optimale Lösung zur Durchführung eines erfolgreichen E-Mail-Marketings. Zur Nutzung des PHP Script-Pakets ist eine eigene Webpräsenz/Server mit PHP 5 oder neuer, MySQL 4 oder neuer und die

28.10.2021 mirko_swm | Kategorie: PHP/ Mail
Guestbook Light ansehen Guestbook Light

Das Guestbook Light (kurz: "Gblight") ist ein kinderleichtes Gästebuch in PHP. Durch den Einsatz einer SQLite Datenbank ist es einfach, leicht portabel und schnell. Aufgrund moderner Techniken erfüllt Gblight auch die neuesten Webstandards.

28.10.2021 scripthostingnet | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:22 Uhr.