Ich schon wieder
Ich hab noch einen Fehler:
PHP-Code:
function get_villageid($x, $y){
global $db;
if(isset($x) and isset($y)) {
$query = $db->simple_select(TABLE_PREFIX."ds_villages", "*", "x = '".$x."' AND y = '".$y."'");
$dsvillage = $db->fetch_array($query);
if (isset($dsvillage['id'])) {
return $dsvillage['id'];
}else{
return "false"; // überall so beabsichtigt!
}
}else{
return "false"; // überall so beabsichtigt!
}
}
Liefert false (ja extra als string) zurück, obwohl das ganze in der Datenbank enthalten ist.
var_dumps:
$query
resource(59) of type (mysql result)
resource(61) of type (mysql result)
$dsvillage
bool(false)
bool(false)
Der BB Code [village] wurde in dem Thread zweimal angewandt, die $x und $y Werte werden richtig übergeben.
Eine Suche per phpmyadmin hat ergeben, dass das Dorf vorhanden ist.
Auch wenn ich $db nicht verwende und mysql_query() und mysql_fetch_array() selber nutze, bekomme ich false zurück. Mit dem gleichen mysql_query Befehl kann ich aber in der phpmyadmin suchen!
Was mache ich falsch?
Danke im Vorraus!
lg
/edit: Die Funktion:
PHP-Code:
function dsbb_village($vstring){
global $mybb, $lang;
$world = $mybb->settings['dsbb_world'];
$dsdomain = get_serverdomain($world);
$vid = get_villageid($vstring[1], $vstring[2]);
if($vid == "false") {
return $vstring[1].'|'.$vstring[2].' ('.$lang->village_na.')';
}else{
return '<a href="'.$dsdomain.'/page.php?page=inbound&screen=info_village&id='.$vid.'">'.get_villagename($vid).'</a>';
}
}
Und
PHP-Code:
function dsbbcodes_run($message) {
global $mybb, $lang;
$lang->load("dsbbcodes");
require_once(MYBB_ROOT."inc/functions_dsbb.php");
$message = preg_replace_callback("#\[player\](.*?)\[/player\]#i", "dsbb_player", $message);
$message = preg_replace_callback("#\[ally\](.*?)\[/ally\]#i", "dsbb_ally", $message);
$message = preg_replace_callback("#\[village\](.*?)\|(.*?)\[/village\]#i", "dsbb_village", $message);
return $message;
}
In der Plugin Datei.
Vielen Dank für eure Antworten -.-