Beiträge: 10
Themen: 2
Registriert seit: 19.01.2009
ich habe das plugin Usermap (1.1) von Paretje
link mybbcoder
jetzt möchte ich eine Suchmaske erstellen, in der ich angeben kann
suche User im Umkreis von X km
leider bekomme ich eine Fehlermeldung, das die SQL-Befehle nicht bekannt sind.
sende ich den gleichen Befehl direkt auf der Datenbank ab, bekomme ich meine Resultate.
MyBB has experienced an internal SQL error and cannot continue.
SQL Error:
1305 - FUNCTION DBNAME.ACOS does not exist
Nun meine Frage: ist die Funktion
$query = $db->query($sql_query); um einige Befehle limitiert?
Der Query mit 333 km als Beispiel anbei anbei:
PHP-Code:
SELECT u.uid, u.username, u.usermap_lat , u.usermap_lon FROM
mybb_users u WHERE
6367.46 * ACOS (COS( RADIANS( u.usermap_lat ) ) * COS (RADIANS( 49.31 )) *
(SIN (RADIANS( u.usermap_lon ) ) * SIN (RADIANS( 10.7475 )) +
COS (RADIANS( u.usermap_lon ) ) * COS(RADIANS( 10.7475 ))) +
SIN(RADIANS( u.usermap_lat ) ) * SIN(RADIANS( 49.31 )))
< 333
ORDER BY u.username
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Laut Fehlermeldung existiert die MySQL-Funktion ACOS(x) nicht. Da würde ich mal beim Hoster anfragen.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 10
Themen: 2
Registriert seit: 19.01.2009
Hallo Michael,
wie schon gesagt wenn ich auf dem phpmyadmin den gleichen Befehl absetze funktioniert es ja.
sprich es geht nur nicht, wenn ich es über mybb laufen lasse
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
(06.02.2009, 19:57)DerGoth schrieb: Nun meine Frage: ist die Funktion $query = $db->query($sql_query); um einige Befehle limitiert?
Nein. Wenn du dir die Funktion query() in der Datei inc/db_*db*.php mal ansiehst wirst du feststellen, dass die Abfrage unverändert an die Datenbank geschickt wird.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 10
Themen: 2
Registriert seit: 19.01.2009
Okay ich komme der Sache näher.
Mein Query der wirklich verarbeitet wird ist nicht der oben genannte, sondern ein von mybb modifizierte. wahrscheinlich nimmt die inc/db_*db*.php irgendwo den Datenbanknamen mit in die Funktion hinein.
sprich der an die Datenbank gesendete Befehl ist nicht ACOS sondern DBNAME.ACOS.
Das müsste man unterbinden. Aber wie ?
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Nein, die $db->query-Funktion führt alles unverändert aus.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 10
Themen: 2
Registriert seit: 19.01.2009
Hallo Dragon,
Danke dass Du mitliest. Soll jetzt nicht pampig klingen, jedoch versteh ich's nicht: Und warum bekomme ich von phpmyAdmin ein Ergebnis und einen Fehler von mybb?
( Ich kann die Fehlermeldung vom mybb in den phpmyadmin kopieren und bekomme Ergebnisse )
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Versuche es mal bitte mit
PHP-Code:
$query = mysql_query($sql_query);
statt
PHP-Code:
$query = $db->query($sql_query);
Wie schon gesagt, der Query wird eigentlich unverändert an die Datenbank geschickt unter Angabe des Verbindungslinks.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 10
Themen: 2
Registriert seit: 19.01.2009
leider gleiches Ergebnis - ich verstehs nicht mehr
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Funktioniert es außerhalb vom MyBB?
PHP-Code:
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Verbindung nicht möglich : ' . mysql_error());
}
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
die ('Kann foo nicht benutzen : ' . mysql_error());
}
$sql_query = "DEIN QUERY";
$result = mysql_query($sql_query);
if (!$result) {
die('Ungültige Abfrage: ' . mysql_error());
}
?>
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.