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, 13: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
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 04-03-2005, 13: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, 13: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 13:50 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 04-03-2005, 13: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, 14: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, 14: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, 14: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

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

04.09.2020 palle_1977 | Kategorie: PHP
numaeks Web-Farbmixer

Die RGB-Farben lassen sich hier auf unterschiedliche Weise mischen. Zur Einstellung werden auch die Dreh- und Schieberegler mit Canvas verwendet. Gespeichert werden die Farben in einem Cookie.

04.09.2020 numaek | Kategorie: JAVASCRIPT/ Tools
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:59 Uhr.