Fehler in Funktion

06/25/2014 18:22 Prototype333#1
Tag zsam,

ich bin dabei meinen Mounts Namen zu geben jedoch funktioniert diese Funktion nicht, die ich geschrieben habe. Kann mir jemand sagen was daran falsch ist?

PHP Code:
function mount.get_name()
    
local mount_name mysql_query("SELECT name FROM player.mount_name WHERE id = "..pc.get_player_id()..";")
    return 
mount_name
end 
06/25/2014 19:20 ProfessorEnte#2
return mount_name.name[1]

brauchst das aber uebrigens nicht extra speichern, mach einfach direkt:

return mysql_query("SELECT name FROM player.mount_name WHERE id = "..pc.get_player_id()..";") .name[1]
06/25/2014 19:47 Prototype333#3
Danke.
Aber wieso heißt es "return mount_name.name[1]" und nicht nur "return mount_name[1]" ??

#Edit: Funktioniert immer noch nicht.
06/25/2014 22:38 RedKing2#4
Quote:
Originally Posted by Prototype333 View Post
Danke.
Aber wieso heißt es "return mount_name.name[1]" und nicht nur "return mount_name[1]" ??

#Edit: Funktioniert immer noch nicht.
weil der rückgabe wert ein ARRAY ist und kein String.

Array besteht aus mehreren Teil Informationen die das ganze abbilden. Ein String ist eine einzige Info.

Z.B.

String

name = 1

Array

name = { [0] = 1 , [1] = 2 }

name[0] = 1

Ein Array kann auch nur aus einem Ergebnis bestehen

name = { [0] = 1 }
06/26/2014 02:14 Prototype333#5
Ah, okay :)
Ich wusste dachte immer es wär ein String der zurück kommt ^^ Dennoch versteh ich nicht wieso es nicht funktioniert. Es ist doch alles korrekt. Wenn ich z.B. ganz simpel den Namen aus der DB im Chat ausgeben möchte klappt es nicht. Wieso?

PHP Code:
local x mount.get_name()
chat(x
Zurzeit bekomme ich (wenn ich "return mount_name[1]" eingebe) eine leere Zeile zurück.
Wenn ich jetzt "return mount_name[1][1]" eingebe bekomme ich eine 0 zurück.
Wenn ich "return mount_name[1][1][1]" eingebe funktioniert die Quest nichtmehr.

In der Zeile, die zurückgegeben wird, steht jedoch eigentlich "Testname". Wieso bekomme ich das Wort nicht zurück?
Meine Theorie wäre: Die Variable erkennt nicht, dass der Inhalt der Tabelle (bzw. Datenbank) ein String ist. Könnte das sein?