php-Funktion innerhalb einer sql-Abfrage aufrufen?
Verfasst: 05.10.2005 13:12
Die nachfolgende Abfrage liefert nicht die gewünschten Ergebnisse:
Die Funktion areyouabot stammt aus dem "Bots in who is online - Mod". Die Funktion als solche klappt auch innerhalb des Mods, der einwandfrei funktioniert. Aufrufen kann ich die Funktion hier auch, die common.php, in der wiederum die includes/functions_showbot.php mit der Funktion areyouabot eingebunden ist, habe ich auch in meinem Skript included. Nur ist es so, daß die Funktion in der o. g. sql-Abfrage grundsätzlich eine 0 zurückliefert, auch wenn "browser" ein Bot in der in der includes/functions_showbot.php enthaltenen Liste ist. In der o. g. Abfrage ist "browser" ein Feld in der Tabelle "meinetabelle", nicht etwa eine Variable namens "$browser".
Was mache ich hier falsch?
Ich ahne es schon irgendwie, daß der Funktion areyouabot der Inhalt des Feldes browser nicht richtig übergeben wird, evtl. wird da eine Variable erwartet, aber wo soll ich die Variable innerhalb dieser sql-Abfrage hernehmen?
Wie rufe ich innerhalb einer sql-Abfrage eine php-Funktion auf und zwar so, daß innerhalb der sql-Abfrage der Inhalt des Feldes "browser" an die Funktion areyouabot übergeben wird, diese Funktion dann ausgeführt wird und das Ergebnis dann in der sql-Abfrage korrekt weiter verarbeitet wird?
Falls das so schon grundsätzlich nicht geht, wie kann ich das von mir gewünschte Ergebnis dann realisieren?
Code: Alles auswählen
$sql = "SELECT count(*) AS total FROM meinetabelle WHERE userid = -1 AND " . areyouabot(browser, TRUE) . " = 0";
Was mache ich hier falsch?
Ich ahne es schon irgendwie, daß der Funktion areyouabot der Inhalt des Feldes browser nicht richtig übergeben wird, evtl. wird da eine Variable erwartet, aber wo soll ich die Variable innerhalb dieser sql-Abfrage hernehmen?
Wie rufe ich innerhalb einer sql-Abfrage eine php-Funktion auf und zwar so, daß innerhalb der sql-Abfrage der Inhalt des Feldes "browser" an die Funktion areyouabot übergeben wird, diese Funktion dann ausgeführt wird und das Ergebnis dann in der sql-Abfrage korrekt weiter verarbeitet wird?
Falls das so schon grundsätzlich nicht geht, wie kann ich das von mir gewünschte Ergebnis dann realisieren?