Variable im SQLQuery

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Phill

Betreff: Variable im SQLQuery

BeitragMo, Jan 30, 2006 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
also ich baue mir eine SQL Abfrage zusammen aber nun muss ich da eine Variable als Vergleich einbringen. Wie geht das?
Hier ein Code Teil von mir

Nutzer_Abfrage = SQLQuery (Verbindung, "SELECT user_id, user_name FROM tab_user WHERE user_name = Name$")

user_name ist der Feld Name und Name$ ist die Variable dann. Wie muss ich die Variable schreiben damit die der Query erkennt?
cu Phill

preachie

BeitragMo, Jan 30, 2006 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich Dich nicht falsch verstanden habe, dann so:

Code: [AUSKLAPPEN]
Nutzer_Abfrage = SQLQuery (Verbindung, "SELECT user_id, user_name FROM tab_user WHERE user_name = " + Name$)


Gruß
Preachie

DivineDominion

BeitragMo, Jan 30, 2006 16:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Was zum Henker!

Wie wärs wenn du dir mal die Grundlagen von BB abschaust? Strings setzt man so zusammen:
neuerText$ = "Text: " + alterText$

in PHP mag das ja aus den zeichenketten gelesen werden, in BlitzBasic macht man das mit einem + hinten dran
christian.tietze@gmail.com - https://christiantietze.de
macOS
 

Phill

BeitragMo, Jan 30, 2006 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
naja das Problem ist sobald ich die " im diesem Query schreibe ist das Query damit auch zuende. Daher muss die Variable ja drinne stehen in den "".

mfg Phill

preachie

BeitragMo, Jan 30, 2006 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wenn Du eine Funktion aufrufst und dieser Parameter übergibst, so können diese Parameter auch direkt im Funktionsaufruf berechnet werden.

Von daher sollte es egal sein, wieviele String-Konkatinierungen Du im Funktionsaufruf drin hast, es sollte auch folgender Code funktionieren:

Code: [AUSKLAPPEN]
Nutzer_Abfrage = SQLQuery (Verbindung, "SELECT " + "user_id, "+"user_name "+"FROM "+"tab_user "+"WHERE "+"user_name "+"= " + Name$)


(wobei dies natürlich Schwachsinn wäre Wink)

Siehst Du auf der Datenbank-Seite, dass die Abfrage ohne den Namensteil ankommt? Kann es evtl. sein, dass die Variable name$ nicht gefüllt ist?

Sollte es trotzdem nicht gehen, was ich ehrlich gesagt nicht verstehen würde, kannst Du den String ja zunächst zusammenbauen und anschließend einfach nur die Variable übergeben.

Code: [AUSKLAPPEN]
Query$ = "SELECT user_id, user_name FROM tab_user WHERE user_name = " + Name$
Nutzer_Abfrage = SQLQuery (Verbindung, Query$)


Gruß
Preachie
 

Phill

BeitragDi, Jan 31, 2006 17:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
also der SQLQuery funktioniert jetzt ohne Probleme danke.

So ganz am Anfang des Programmes frage ich nach der IP Adresse des MySQL Server.
Also "localhost" und "127.0.0.1" funktionieren jedoch sobald ich z.B. meine ip eingebe "192.168.1.2" in meinem Intranet kann er nicht Verbinden. Über das Internet hab ich es auch testen wollen aber da konnte er auch keine Verbindung aufbauen.
Was muss ich da extra reinschreiben?

mfg Phill
 

Dreamora

BeitragDi, Jan 31, 2006 17:48
Antworten mit Zitat
Benutzer-Profile anzeigen
192.168.1.2 is net deine IP, dass ist deine Netzwerkinterne IP.
Deine richtige bzw. die richtige deines Netzwerks bekommst du durch www.wasistmeineip.de / www.whatismyip.com
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Phill

BeitragDi, Jan 31, 2006 17:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich habe ja geschrieben da im Intranet ist die 192.168.1.2 meine IP. Da kann er nicht verbinden und auch nicht wenn ich meinen PC passend aufmache und jemandem meine IP von meinem Router gebe also z.B. 81.217.118.45
Da kann er auch nicht verbinden. Wieso?

Graphics 640, 480, 16, 2
Const SQLTYPE_MYSQL% = 1


Global Verbindung
Global Name$
Global Passwort$
Global IP_Adresse$
Global Nutzer_Abfrage$

Function mysql_connect()
Verbindung = OpenSQLStream(IP_Adresse$, 3306, "root", "hund", "login", SQLTYPE_MYSQL)
End Function

;IP Funktion----------------------
Function IP()

Color 255,0,0
Rect 160, 190,320,100, 1

Color 255,255,255
Text 192, 230, "IP Adresse:"

Locate 277, 230
IP_Adresse$ = Input ("")


End Function
;Ende Ip Funktion-----------------

;Anfang Login Feld----------------
Function Login_feld()
Cls

Color 255,0,0
Rect 160, 190,320,100, 1

Color 255,255,255
Text 192, 230, "Name:"
Text 160, 240, "Passwort:"

Locate 230, 230
Name$ = Input ("")

Locate 230, 240
Passwort$ = Input ("")

End Function
;Ende Login Feld------------------

.anfang_ip
IP()
mysql_connect()

If (Verbindung)
.anfang_login
Login_feld()

Nutzer_Abfrage = SQLQuery (Verbindung, "SELECT `user_name`, `user_pw` FROM `tab_user` WHERE `user_name`='"+ Name$ + "' AND `user_pw`='"+ Passwort$ + "' ")
Print SQLRowCount(Nutzer_Abfrage)

If (SQLRowCount(Nutzer_Abfrage) = 1)
Cls
Color 255,0,0
Rect 160, 190,320,100, 1
Color 255,255,255
Text 210, 230, "Sie haben sich angemeldet"
Else Goto anfang_login
EndIf

Else
Cls
Print "Keine verbindung"
Goto anfang_ip
EndIf


WaitKey
End

Es ist nicht Perfekt aber erfüllt seinen Zweck Smile
mfg Phill

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group