MyBB.de Forum
Usermap Entfernungsbestimmung - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Usermap Entfernungsbestimmung (/thread-12311.html)

Seiten: Seiten: 1 2


Usermap Entfernungsbestimmung - DerGoth - 06.02.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.uidu.usernameu.usermap_lat u.usermap_lon FROM 

mybb_users u WHERE 

6367.46 
ACOS (COSRADIANSu.usermap_lat ) ) * COS (RADIANS49.31 )) * 
(
SIN (RADIANSu.usermap_lon ) ) * SIN (RADIANS10.7475 )) + 
COS (RADIANSu.usermap_lon ) ) * COS(RADIANS10.7475 ))) + 
SIN(RADIANSu.usermap_lat ) ) * SIN(RADIANS49.31 ))) 

333

 ORDER BY u
.username 



RE: Usermap Entfernungsbestimmung - Michael - 07.02.2009

Laut Fehlermeldung existiert die MySQL-Funktion ACOS(x) nicht. Da würde ich mal beim Hoster anfragen.


RE: Usermap Entfernungsbestimmung - DerGoth - 07.02.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


RE: Usermap Entfernungsbestimmung - Michael - 07.02.2009

(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.


RE: Usermap Entfernungsbestimmung - DerGoth - 07.02.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 ?


RE: Usermap Entfernungsbestimmung - StefanT - 07.02.2009

Nein, die $db->query-Funktion führt alles unverändert aus.


RE: Usermap Entfernungsbestimmung - DerGoth - 07.02.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 )


RE: Usermap Entfernungsbestimmung - Michael - 07.02.2009

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.


RE: Usermap Entfernungsbestimmung - DerGoth - 07.02.2009

Sad leider gleiches Ergebnis - ich verstehs nicht mehr


RE: Usermap Entfernungsbestimmung - Michael - 08.02.2009

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());
}
?>