Hey,
hab etwas Probleme mit MySQL und hab auch schon viel gegoogelt aber leider nicht gefunden. Ich will abfragen ob in der Tabelle 'houses' und in der Spalte 'forsale' 1 steht.
Sollte ungefähr so aussehen :
if((hier die Abfrage ob der Wert = 1ist) return SendClientMessage(playerid,COLOR_RED, " This house is not for sale");
Und ich suche auch nach einer Seite auf der alle MySQL "Befehle" + Parameter aufgeführt werden.
*edit* Wichtig ist auch das in der Abfrage das ans Ende kommt : NULL WHERE `hID` = '%i',hausInfo[i][hID]
MySQL überpüfen ob Wert 1 ist
- Oskaar1994
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Zitat
"Und ich suche auch nach einer Seite auf der alle MySQL "Befehle" + Parameter aufgeführt werden."
Was für ein MySQL Plugin verwendest du? Gibt ja unterschiedliche. -
Schau dir die Wiki an.
Lade den Wert aus der Tabelle und Speicher ihn in einer Variable ab.
Mit der Variable kannst du dann über prüfen ob der Wert 1 ist. -
Was für ein MySQL Plugin verwendest du? Gibt ja unterschiedliche.
Ist gerade etwas das Problem weiß ich nicht mehr genau ich glaube das von BlueG, ich hab nur noch den Downloadlink : https://code.google.com/p/sa-mp-mysql-plugin/@'Weihnachtsbaum ich bekomm das Auslesen ja nicht richtig hin, das ist mein Problem und aus Wiki wurde ich nicht viel schlauer.
Ich habe mir mal die Include angeschaut und ein Native gefunden, kann man das dazu benutzen ?
native cache_get_data(&num_rows, &num_fields, connectionHandle = 1);
Und wenn so ?
cache_get_data(`houses`,`forsale`, dbhandle) -
Ich würd dir Raten als MySQL-Anfänger die MySQL Version R5/R6 zu Benutzen oder dich erstmal Vernünftig mit Threaded-Querys auseinander setzen
-
Schau dir die Wiki an.
Lade den Wert aus der Tabelle und Speicher ihn in einer Variable ab.
Mit der Variable kannst du dann über prüfen ob der Wert 1 ist.Schau dir die Wiki an.
Lade den Wert aus der Tabelle und Speicher ihn in einer Variable ab.
Mit der Variable kannst du dann über prüfen ob der Wert 1 ist.Schau dir die Wiki an.
Lade den Wert aus der Tabelle und Speicher ihn in einer Variable ab.
Mit der Variable kannst du dann über prüfen ob der Wert 1 ist.Ich würd dir Raten als MySQL-Anfänger die MySQL Version R5/R6 zu Benutzen oder dich erstmal Vernünftig mit Threaded-Querys auseinander setzen
Bin ich auch dabei aber kannst du mir bitte mit der Abfrage helfen ? -
Was genau verstehst du denn nicht?
Weihnachtsbaum hat dir doch die Lösung verraten.
-
Was genau verstehst du denn nicht?
Weihnachtsbaum hat dir doch die Lösung verraten.
Ich verstehe nicht welche Funktion ich zum Auslesen aus der Datenbank benutzen soll. -
new lQuery[128];
format(lQuery, sizeof(lQuery), "SELECT * FROM houses WHERE hID = '%i' AND forsale = '1' ", hausInfo[i][hID]);
mysql_query(lQuery);mysql_store_result();
if(mysql_num_rows()) {
// -> EINTRAG VORHANDEN
}
mysql_free_result();
Soweit verstanden? Kurze Erklärung: Es werden alle Informationen von dem Haus selectet, dessen ID du übergeben hast und bei dem forsale 1 ist. mysql_num_rows überprüft dann, ob Ergebnisse zurückgekommen sind. Wenn nicht, ist das Haus nicht zu verkaufen. -
new lQuery[128];
format(lQuery, sizeof(lQuery), "SELECT * FROM houses WHERE hID = '%i' AND forsale = '1' ", hausInfo[i][hID]);
mysql_query(lQuery);mysql_store_result();
if(mysql_num_rows()) {
// -> EINTRAG VORHANDEN
}
mysql_free_result();
Soweit verstanden? Kurze Erklärung: Es werden alle Informationen von dem Haus selectet, dessen ID du übergeben hast und bei dem forsale 1 ist. mysql_num_rows überprüft dann, ob Ergebnisse zurückgekommen sind. Wenn nicht, ist das Haus nicht zu verkaufen.
Irgendwie erkennt Pawno den Integer nicht richtig und meckert wegen dem %i undefined Symbol. Komisch. -
Irgendwie erkennt Pawno den Integer nicht richtig und meckert wegen dem %i undefined Symbol. Komisch.Poste doch mal deine Funktion + Fehlermeldungen, dann können wir dir besser weiterhelfen.
-
Poste doch mal deine Funktion + Fehlermeldungen, dann können wir dir besser weiterhelfen.
Ich habe es jetzt noch nicht in die Funktion selber aber ein Test Command gemacht. Und beim zweiten Fehler weiß ich wie ich ihn löse weil das an der Mysql Version/ der Native liegt.
CMD:test(playerid, params[])
{new lQuery[128];
format(lQuery, sizeof(lQuery), "SELECT * FROM houses WHERE hID = '%i' AND forsale = '1' ", hausInfo[i][hID]);//1440
mysql_query(lQuery);mysql_store_result();
if(mysql_num_rows()) {
SendClientMessage(playerid,COLOR_RED,"Test");
}
mysql_free_result();return 1;
}Die Fehler :
BeThePilot.pwn(1440) : error 017: undefined symbol "i"
BeThePilot.pwn(1441) : error 035: argument type mismatch (argument 1) -
Mach aus dem %i mal ein %d. Für den Tag Missmatch musst du deine Connection einfügen (du hast ja irgendwoe xyz = mysql_connect), z.B. mysql_query(xyz, lQuery)
-
Mach aus dem %i mal ein %d. Für den Tag Missmatch musst du deine Connection einfügen (du hast ja irgendwoe xyz = mysql_connect), z.B. mysql_query(xyz, lQuery)
Tag Missmatch habe ich schon gelöst, das andere probier ich jetzt
*edit* Tag Missmatch kommt doch nicht vom %i sondern von meinem hinteren i weil es eigentlich für eine Schleife vorgesehen ist.
Und danke für die Hilfe Noch eine Frage. Also wenn nichts im Feld steht kann ich es nicht kaufen und mit einer 1 schon ,oder ? -
Wenn du kein Ergebnis zurückbekommst (also kein "Test" bei dir ausgegeben wird") kann man das Haus nicht kaufen. Ansonsten kann man dieses eine Haus kaufen.
-
Wenn du kein Ergebnis zurückbekommst (also kein "Test" bei dir ausgegeben wird") kann man das Haus nicht kaufen. Ansonsten kann man dieses eine Haus kaufen.
Bedeutet wenn nichts im Feld steht oder einfach etwas anderes als 1 ? -
mysql_num_rows fragt ab ob ein wert in dem feld ist, aber nicht ob es 1,2 oder 2300 ist.
-
mysql_num_rows fragt ab ob ein wert in dem feld ist, aber nicht ob es 1,2 oder 2300 ist.
Ok danke -
breadfish.de
Hat das Thema geschlossen.