Het is nu 05-04-2024, 10:38 AM
Welkom, gast! (Aanmelden — Registreren)
Query
|
08-29-2013, 08:36 PM
Bericht: #1
|
|||
|
|||
Query
Beste myBBforum,
ik wil iets doen met een query in de DB maar weet niet goed hoe ik dit moet aanpakken. Op het forum staan diverse tags bv [brake]eennaamhier[/brake] Nu is mijn vraag..Kan ik dmv een query in phpMyadmin deze tags en wat ertussen staat verwijderen? Handmatig kan ook maar dan ben ik heel erg lang bezig. Meer dan 50.000 topics nalopen deze query heb ik geprobeerd: update `mybbdatabase`.`mybb_threads` SET `message` = REPLACE(`message`, '[brake]', '') Maar krijg daarmee een error..Ik zou daarmee alle [brake] moeten kunnen verwijderen.. Het liefste beide tags en de variabele naam ertussen in 1 keer.. Wie maakt me blij? |
|||
08-29-2013, 11:01 PM
Bericht: #2
|
|||
|
|||
RE: Query
Je kan regexen uitvoeren via een query, maar vaak is het makkelijker om gewoon in php een kleine functie te schrijven en dan de pagina uit te voeren.
Hieronder heb je een voorbeeld van zo'n scripje. Een pagina aanmaken en de database gegevens wijzigen. Ik heb het kort even uitgetest, maar maak sowieso even een backup voor je het uitvoert, dan ben je altijd zeker. Indien je iets anders gebruikt als [brake], moet je dit 3x aanpassen in het script. PHP-code: <?php Mvg / kind regards Volg MyBB NL op Twitter |
|||
08-30-2013, 08:57 PM
Bericht: #3
|
|||
|
|||
RE: Query
Ik krijg nu een error.
Fatal error: Call to undefined function mysqli_connect() in /home/*****/public_html/testing/nzb.php on line 9 ***** is zelf veranderd. |
|||
08-30-2013, 09:28 PM
Bericht: #4
|
|||
|
|||
RE: Query
Je kan onderstaande code eens proberen, die maakt gebruik van een oudere functie.
Of wat heb je bij inc/config.php bij $config['database']['type'] staan? PHP-code: <?php Mvg / kind regards Volg MyBB NL op Twitter |
|||
08-31-2013, 06:57 PM
Bericht: #5
|
|||
|
|||
RE: Query
Ik heb in inc/config.php staan bij type 'mysql'.
Ik heb de bovenstaande code ook geprobeerd. Bij deze krijg ik geen foutmelding maar een blanke pagina. |
|||
08-31-2013, 07:02 PM
Bericht: #6
|
|||
|
|||
RE: Query
Een blanke pagina is goed. Het script geeft geen melding, dus normaal zouden de tags moeten weg zijn uit de berichten op je forum.
Mvg / kind regards Volg MyBB NL op Twitter |
|||
08-31-2013, 07:19 PM
Bericht: #7
|
|||
|
|||
RE: Query
Ze zijn niet verdwenen helaas..
Ik weet het verder ook niet zo gauw meer.. |
|||
08-31-2013, 07:44 PM
Bericht: #8
|
|||
|
|||
RE: Query
Heb je iets aan die [brake] aangepast? Want met [brake]blabla[/brake] werkt het tijdens de test hier in ieder geval wel.
Je zou achter $pid = $row['pid']; dit lijntje code kunnen bijplaatsen: echo "$message<br /><br />---<br /><br />"; Dan zie je welke berichten het scriptje vindt en of de code in die berichten is weggehaald. Als je geen berichten krijgt vind het de [brake] niet goed en kan dat aangepast worden. Indien er wel berichten staan, maar de [brake] komt er nog in voor, dan werkt het verwijderen niet helemaal. Maar het is meestal maar een kleine aanpassing die nodig is om het gewenste resultaat te krijgen. Mvg / kind regards Volg MyBB NL op Twitter |
|||
09-01-2013, 11:58 AM
Bericht: #9
|
|||
|
|||
RE: Query
Ik heb de ''echo'' toegepast en vind niet de tags.
Als test een ander woord gebruikt en die vind hij wel. De woorden die hij dan wel vindt blijven wel staan. |
|||
09-01-2013, 12:48 PM
Bericht: #10
|
|||
|
|||
RE: Query
Ok, het zou dan in principe wel moeten werken. Je kan dit nog eens vervangen:
PHP-code: $result = mysql_query("SELECT pid, message FROM mybb_posts WHERE 1 AND MATCH(message) AGAINST('[brake]' IN BOOLEAN MODE)"); PHP-code: $result = mysql_query("SELECT pid, message FROM mybb_posts WHERE message LIKE '%[brake]%'"); Als je heel korte tags zou hebben, kan het zijn dat je webhost geen full text search ondersteund en het daarom niets vind. Het is hoofdletter gevoelig, dus misschien moet je met hoofdletters proberen. Als hij de tags vind, vergeet dan ook niet dat je deze hier ook moet aanpassen: $message = preg_replace("/\[brake\].*\[\/brake\]/", "", $row['message']); waarbij de \ belangrijk zijn, dus best enkel het woord veranderen. Mvg / kind regards Volg MyBB NL op Twitter |
|||
|
Gebruikers die deze discussie lezen: 1 gast(en)