KvarnerMedlem sedan sep. 2004180 inlägg Undrar om det med något kommando går att byta ut ett särskilt ord eller länk i databasen med ett annat istället för att manuellt sitta och byta ut orden i ett forum.
T ex att pelle.mine.nu blir pelle.nu trots att länken kan vara längre, t ex pelle.mine.nu/pellesbild.jpg
Mvh
Peter SMedlem sedan dec. 20025 483 inlägg Replace(myDbFieldName, 'pelle.mine.nu', 'pelle.nu')
Sedan finns visst stöd regexp också, beroende på version av MySQL. Men du kanske klarar dig med Replace().
KvarnerMedlem sedan sep. 2004180 inlägg Tack för ett snabbt svar! Jag fick dock ett felmeddelande. Antar att mydbfieldname ska bytas ut mot något? Vet inte vad.
Mvh
Peter SMedlem sedan dec. 20025 483 inlägg Namnet på den kolumn i databasen som innehåller texten :)
KvarnerMedlem sedan sep. 2004180 inlägg Får felmeddelande...
SQL-fråga:
Replace( phpbb3_posts, 'pelle.mine.nu', 'pelle.nu' )
MySQL sa:
#1064 - 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 '(phpbb3_posts, 'pelle.mine.nu', 'pelle.nu')' at line 1
Dessutom när jag söker på pelle.mine.nu så får jag ingen träff i mysql search, bara när jag söker på pelle. Hmm.
Peter SMedlem sedan dec. 20025 483 inlägg Replace() skall köras i en UPDATE - gör du det?
update tbl set phpbb3_posts = replace(...) where ...
KvarnerMedlem sedan sep. 2004180 inlägg Nej. Peter S, mina mysql-kunskaper är inte de bästa. Behövs nog nybörjarspråk här. Beklagar att jag inte var tydligare från början. Din hjälp uppskattas mycket.
Peter SMedlem sedan dec. 20025 483 inlägg Sorry :)
Rådet är alltså att använda en UPDATE och i den köra Replace() enligt ovan. Skall ersättningen inte göras på alla rader i tabellen måste du ange ett villkor i WHERE (där jag skrivit "..."). Vill du ersätta alla förekomster på samtliga rader kan du ta bort WHERE.
KvarnerMedlem sedan sep. 2004180 inlägg Peter, jag försökte med...
update phpbb3_posts SET `post_id` = replace (`post_id`, "pelle.mine.nu", "pelle.nu")
...och kommandot genomfördes framgångsrikt utan felmeddelanden, men med 0 träff. Av någon anledning hittas inte ordet pelle.mine.nu, inte ens när jag söker i phpmyadmin. Kanske för att det är en del av en länk?
Jag är ytterst tacksam för att du tagit dig tid att svara på mina inlägg. :-)
SPiNMedlem sedan mars 20007 896 inlägg Du pekar mot fel kolumn i tabellen. post_id är antagligen en index-räknare, med heltalsvärden. Du får byta ut kolumnen mot den som informationen är sparad i (i mitt exempel heter den post_content);
UPDATE
phpbb3_posts
SET
`[b]post_content[/b]` = REPLACE(`[b]post_content[/b]`, 'pelle.mine.nu', 'pelle.nu')
KvarnerMedlem sedan sep. 2004180 inlägg Stort tack, det fungerade galant! Anledningen till att jag inte hittade pelle.mine.nu i mysql är för att det visas som 'pelle.mine.nu'. Fråga mig inte varför. Upptäckte det av en slump. Det hela löstes med följande kommando...
UPDATE phpbb3_posts SET `post_text` = REPLACE( `post_text` , 'pelle.mine.nu', 'pelle.nu' )
Tack, ni har verkligen varit supertrevliga och kunniga.