Forum

Moderiert von: spinne
Forum Index
Support
     Codeschnippsel
     MySQL Befehl???
Hilfe anzeigen
Hilfe anzeigen

Autor Druckerfreundliche DarstellungMySQL Befehl???
Scout_GP

Registriert: 16.06.2005
Beiträge: 1054
Wohnort: Berlin


Sende eine Private Nachricht an Scout_GP Besuche die Homepage von Scout_GP
Geschrieben: 16.01.2008 21:10

Ich muß den Pfad für die Smilies anpassen und hab keine Lust das per Hand zu machen. Es sind viele Smilies...

Den Befehl habe ich mir zusammen geschustert:
UPDATE opn_smilies SET smile_url=replace(smile_url,'http:www.rad.scoutweb.de','http://www.besenwagen-info.de') WHERE smile_url like '%http://www.rad.scoutweb.de%'

Der wird auch ausgeführt. Aber nicht ein Datensatz wird geändert.

Wer kann helfen?



Gruß Scout
+++ Last.fm | Scoutweb +++

Zitieren Druckerfreundliche Darstellung nach oben
stefan
Beiträge: 2435
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Geschrieben: 17.01.2008 05:34

Naja sofern du das OPN da schon laufen hast geht es auch mit einer Routine aus opn. Diese must du natürlich aufrufen

dafür kannst dir ne 3 Zeiler bauen. SO in der art

<?php

if (!defined('_OPN_MAINFILE_INCLUDED')) { include('mainfile.php'); }

include (_OPN_ROOT_PATH . 'system/smilies/plugin/repair/domain_alter.php');

$var_datas['remode'] = false;
$var_datas['old'] = 'www.alte.de';
$var_datas['new'] = 'www.neue.de';

smilies_domain_alter ($var_datas);

?>

das replace dort ist nicht das was was meinst ;)

REPLACE funktioniert auf exakt gleiche Weise wie INSERT. Der Unterschied besteht darin, dass, wenn ein alter Datensatz denselben Wert wie ein neuer Datensatz für einen Primärschlüssel oder einen eindeutigen Index hat, der alte Datensatz gelöscht wird, bevor der neue eingefügt wird.

Das macht also nicht das was du willst.


Zitieren Druckerfreundliche Darstellung nach oben
Scout_GP

Registriert: 16.06.2005
Beiträge: 1054
Wohnort: Berlin


Sende eine Private Nachricht an Scout_GP Besuche die Homepage von Scout_GP
Geschrieben: 17.01.2008 12:43

Hmm viel schlauer bin ich jetzt auch nicht.^^

Aus dem 3 Zeiler werde ich nicht so richtig schlau.

Soll das Script dann domain_alter.php heißen?

www.alte.de bzw www.neue.de

würde das reichen, ohne http:// ?

Und wie müßte der richtige Sql Befehl lauten? Denn hier ist der ja dann auch falsch.



Gruß Scout
+++ Last.fm | Scoutweb +++

Zitieren Druckerfreundliche Darstellung nach oben
stefan
Beiträge: 2435
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Geschrieben: 17.01.2008 15:05

wie der name ist ist egal du speicherst die zeilen jeweils einschlisslich von in eine datei name meintwegen egal.php dabei änderst du natürlich noch www.alte.de in deine alte url ohne http und www.neue.de in deine neue url auch ohne http

dann rufst du im browser eben das egal.php auf (die datei solltest du im root von opn gespeichert haben) und fertig. dann ist die db geändert


Zitieren Druckerfreundliche Darstellung nach oben
Scout_GP

Registriert: 16.06.2005
Beiträge: 1054
Wohnort: Berlin


Sende eine Private Nachricht an Scout_GP Besuche die Homepage von Scout_GP
Geschrieben: 19.01.2008 13:25

Hmm klappt nicht, für was steht denn "domain_alter" ?
hier
include (_OPN_ROOT_PATH . 'system/smilies/plugin/repair/domain_alter.php');
bzw auch hier

smilies_domain_alter ($var_datas);

Muß ich da was ändern?



Gruß Scout
+++ Last.fm | Scoutweb +++

Zitieren Druckerfreundliche Darstellung nach oben
stefan
Beiträge: 2435
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Geschrieben: 19.01.2008 14:00

gibt es das file bei dir nicht ?


Zitieren Druckerfreundliche Darstellung nach oben
Scout_GP

Registriert: 16.06.2005
Beiträge: 1054
Wohnort: Berlin


Sende eine Private Nachricht an Scout_GP Besuche die Homepage von Scout_GP
Geschrieben: 19.01.2008 14:15

Habe es mal gesucht, es ist da.

Hier mal die Fehlermeldung:

ERROR [2] main() [function.main]: Unable to access /xxx/xxx/xxx/html/xxxx/system/smilies/plugin/repair/domain_alter
FOUND IN [test.php]
FOUND AT 5
ERROR [2] main(/xxx/xxx/xxx/html/xxxx/system/smilies/plugin/repair/domain_alter) [function.main]: failed to open stream: Success
FOUND IN [test.php]
FOUND AT 5
ERROR [2] main() [function.include]: Failed opening '/xxx/xxx/xxx/html/xxxx/system/smilies/plugin/repair/domain_alter' for inclusion (include_path='.:')
FOUND IN [test.php]
FOUND AT 5

Fatal error: Call to undefined function: smilies_domain_alter() in /xxx/xxx/xxx/html/xxxx/test.php on line 11



Gruß Scout
+++ Last.fm | Scoutweb +++

Zitieren Druckerfreundliche Darstellung nach oben
stefan
Beiträge: 2435
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Geschrieben: 19.01.2008 16:25

ERROR [2] main() [function.main]: Unable to access /xxx/xxx/xxx/html/xxxx/system/smilies/plugin/repair/domain_alter

schau noch mal wie der quell code ist das ist eine .php am ende ...



Erst nachlesen, dann nachdenken, dann nachfragen...
http://www.catb.org/~esr/faqs/smart-questions.html

openPHPnuke Developer

Zitieren Druckerfreundliche Darstellung nach oben
Scout_GP

Registriert: 16.06.2005
Beiträge: 1054
Wohnort: Berlin


Sende eine Private Nachricht an Scout_GP Besuche die Homepage von Scout_GP
Geschrieben: 19.01.2008 16:59

Ähem ja, da hätte ich auch selbst drauf kommen können. Du hattest ja geschrieben, daß es eine Datei ist.^^

Ich habe das .php dran gehangen und nu geht es auch.
Danke



Gruß Scout
+++ Last.fm | Scoutweb +++

Zitieren Druckerfreundliche Darstellung nach oben
sortieren nach

Hilfe anzeigen
Hilfe anzeigen
Vorheriges Thema:  Zählerscript
Nächstes Thema:  PHP neues Feld erzeugen

Gehe zu:

Benutzername:
 
Sicherheits-Code
Sicherheits-Code
Neu laden