Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 15:01

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Auslesen einer MySql DB?

Discussion on Auslesen einer MySql DB? within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
.2good4you111's Avatar
 
elite*gold: 20
Join Date: Oct 2010
Posts: 1,303
Received Thanks: 457
Auslesen einer MySql DB?

Hey Com,

habe ein Problem mit der (MySql-UDF).

Ich kann zwar wunderbar in der DB schreiben, jedoch auslesen eines eintrages will nicht so ganz...

Ich poste euch hier meine Source. Nicht erschrecken, wird noch alles ein bisschen abgeändert fehlt nemlich noch einige... ist auch noch nicht so gut gescriptet von den funktionen her...

PHP Code:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <mysql.au3>
#include <array.au3>



$host'127.0.0.1'
$user'root'
$pass''
$db'spenden'


_MySQL_InitLibrary()
If 
FileExists("libmysql.dll"Then
Else
    
FileInstall("lib\libmysql.dll""libmysql.dll")
EndIf



If 
FileExists(@TempDir&"\bg.jpg"Then
Else
    
FileInstall("bg.jpg",@TempDir&"\bg.jpg")
EndIf





#Region ### START Koda GUI section ### Form=C:\Users\maniii\Desktop\Spendenbot.kxf
$Gui GUICreate("Give an Click -- Get much much more Clicks"535341192124BitOR($WS_POPUP,$WS_CLIPSIBLINGS))

$LoginlabelGUICtrlCreateLabel("Login:"1102819648)
GUICtrlSetFont($Loginlabel284000"Old English Text MT")
_BKColor(-1$Loginlabel0xEF030A)



$regilabelinpGUICtrlCreateLabel("Gib hier deinen Benutzername ein,"&@CRLF&"falls du schon registriert bist"11078)
_BKColor(-1$regilabelinp0x00FFFF)
$regiinp GUICtrlCreateInput(""2907815024)
GUICtrlSetTip($regiinp"Gib hier deinen Benutzername ein.")

$pwlabelinpGUICtrlCreateLabel("Gib hier dein Passwort ein."110120)
_BKColor(-1$pwlabelinp0x00FFFF)
$pwinp GUICtrlCreateInput(""29012015024)
GUICtrlSetTip($pwinp"Gib hier dein Passwort ein.")


$Login GUICtrlCreateButton("Einloggen"1401609020)
$reset GUICtrlCreateButton("Zurücksetzten"3001609020)



$regilabel GUICtrlCreateLabel("Registrieren"33028819648)
GUICtrlSetFont($regilabel284000"Old English Text MT")
GUICtrlSetTip($regilabel"Klicke hier um dich zu registrieren.")
_BKColor(-1$regilabel0xEF030A)

$info GUICtrlCreateLabel("Info"102012)
GUICtrlSetTip($info"Info")
_BKColor(-1$info0x00FFFF)

$end GUICtrlCreateLabel("X"5270812)
GUICtrlSetTip($end"Beenden")
_BKColor(-1$end0x00FFFF)



GUISetState(@SW_SHOW)
$pic=GUICtrlCreatePic(@TempDir&"\bg.jpg"00535341)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            end
()
        Case 
$regilabel
            regi
()
        Case 
$end
            end
()
        Case 
$info
            MsgBox
(0"""Hier werden später die Scripter und so stehen.")
        Case 
$reset
            GUICtrlSetData
($regiinp"")
            
GUICtrlSetData($pwinp"")
        Case 
$Login
            login
()
    EndSwitch
WEnd


Func login
()
    
$MysqlConn _MySQL_Init()
    
$connected _MySQL_Real_Connect($MysqlConn,$host,$user,$pass,$db)
    If 
$connected 0 Then
        MsgBox
(16"Verbindungsfehler""Keine Verbindung mit der Datenbank möglich.")
        Exit
    Else
        
$query = ("SELECT id FROM users where user = 2good")
        
_MySQL_Real_Query($MysqlConn$query)
        
$res _MySQL_Store_Result($MysqlConn)
        ;
$data=_MySQL_Fetch_Field()
        
$data=_MySQL_Free_Result($res)
        
_MySQL_Close($MysqlConn)
        
_MySQL_EndLibrary()
        
MsgBox(0"",$data)
    EndIf
EndFunc

Func regi
()
If 
GUICtrlRead($regiinp) = "" or GUICtrlRead($pwinp) = "" Then
    MsgBox
(16"Fehler""Bitte gib etwas ein.")
else

    
$MysqlConn _MySQL_Init()
    
$connected _MySQL_Real_Connect($MysqlConn,$host,$user,$pass,$db)
    If 
$connected 0 Then
        MsgBox
(16"Verbindungsfehler""Keine Verbindung mit der Datenbank möglich.")
        Exit
    Else
        
$passw GUICtrlRead($pwinp)
        
$query = ("INSERT INTO users (user,password) VALUES('"&GUICtrlRead($regiinp)&"','"&GUICtrlRead($pwinp)&"');")
        
_MySQL_Real_Query($MysqlConn$query)
        
MsgBox(0"Account erstellt""Dein Account wurde erstellt.")
        
_MySQL_Close($MysqlConn)
        
_MySQL_EndLibrary()
    EndIf
EndIf
EndFunc


Func end
()
    If 
MsgBox(4"Beenden""Möchtest du wirklich beenden?") = 6 Then
        
Exit
    Else
    EndIf
EndFunc


Func _BKColor
($BackColor_ ""$GuiID_ = -1$Textcolor_ 0x000000)
    If 
$BackColor_ "" or $BackColor_ = -1 Then
    GUICtrlSetBkColor
($GuiID_$GUI_BKCOLOR_TRANSPARENT)
    
GUICtrlSetColor($GuiID_$Textcolor_)
Else
    
GUICtrlSetBkColor($GuiID_$BackColor_)
    
GUICtrlSetColor($GuiID_$Textcolor_)
EndIf
EndFunc 
Es handelt sich um die Login Func


PHP Code:
/*
Navicat MySQL Data Transfer

Source Server         : 127.0.0.01
Source Server Version : 50141
Source Host           : localhost:3306
Source Database       : spenden

Target Server Type    : MYSQL
Target Server Version : 50141
File Encoding         : 65001

Date: 2011-01-26 08:36:57
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- 
Table structure for `users`
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `
idint(5NOT NULL AUTO_INCREMENT,
  `
usertext,
  `
passwordtext,
  `
linktext,
  
PRIMARY KEY (`id`)
ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=latin1;

-- ----------------------------
-- 
Records of users
-- ----------------------------
INSERT INTO users VALUES ('12''2good''super''123');
INSERT INTO users VALUES ('13''12345''test'null);
INSERT INTO users VALUES ('14''xyz''fggf'null); 
Hier noch meine Tabelle welche in die spenden datenbank gehört...



Wenn ihr es lauffähig wollt, braucht ihr die MySql UDF von oben...
Ich weis außerdem nicht ob ich nur einen Falschen befehl verwende, oder nicht da mein SQL Befehl stimmt...


LG
2good


PS.
Am liebsten wäre es mir OHNE arrays
.2good4you111 is offline  
Old 01/26/2011, 09:04   #2
 
-AmA-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 728
Received Thanks: 460
1.
Falsch:
SELECT id FROM users where user = 2good
Richtig:
SELECT id FROM users where user = '2good'

2.
$data=_MySQL_Free_Result($res)
dient zum leeren der gebrauchten Memory...
Und in $data solte eigentlich nichts stehen


Mfg
-AmA- is offline  
Thanks
1 User
Old 01/26/2011, 09:26   #3
 
.2good4you111's Avatar
 
elite*gold: 20
Join Date: Oct 2010
Posts: 1,303
Received Thanks: 457
SELECT id FROM users where user = '2good'

Damit bekam ich immer 0 als rückgabewert...


Habe es jetzt über einen Umständlicheren Weg geschaft =)
Login funktioniert jetzt..

trzdem thx
.2good4you111 is offline  
Old 01/26/2011, 09:38   #4
 
-AmA-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 728
Received Thanks: 460
Quote:
Originally Posted by .2good4you111 View Post
SELECT id FROM users where user = '2good'

Damit bekam ich immer 0 als rückgabewert...


Habe es jetzt über einen Umständlicheren Weg geschaft =)
Login funktioniert jetzt..

trzdem thx
O.o
Rückgabewert = 0:
Es gab keine Fehler
Rückgabewert = 1:
Es gab Fehler
-AmA- is offline  
Thanks
1 User
Old 01/26/2011, 10:00   #5
 
.2good4you111's Avatar
 
elite*gold: 20
Join Date: Oct 2010
Posts: 1,303
Received Thanks: 457
ô_O

Dachte eher das ist das was er aus der DB ausliest... xD
Da je die Querie normalerweiße etwas ausliest...

Und noch´n thx


Weist du zufällig auch einen Befehl womit man eine Betimmte row und eintrag ausliest?
.2good4you111 is offline  
Old 01/26/2011, 10:57   #6
 
-AmA-'s Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 728
Received Thanks: 460
Quote:
Originally Posted by .2good4you111 View Post
ô_O

Dachte eher das ist das was er aus der DB ausliest... xD
Da je die Querie normalerweiße etwas ausliest...

Und noch´n thx


Weist du zufällig auch einen Befehl womit man eine Betimmte row und eintrag ausliest?
Sicher...
Dazu brauchste aber n Array
Also zur kurzen Erklärung:

Wir haben im Array bei einer Tabelle mit 2 Spalten folgender Inhalt:

Nummer des Datensatzes 1.Spalte 2.Spalte
[0] Testacc 1234
[1] Testacc2 2345
[2] Testacc3 3456
[3] Testacc4 4567

Code zur Abfrage (schreibt das Resultat in ein Array):
PHP Code:
$query "SELECT * FROM test"
_MySQL_Real_Query($MysqlConn$query)

$res _MySQL_Store_Result($MysqlConn)

$fields _MySQL_Num_Fields($res)
$rows _MySQL_Num_Rows($res)

Dim $array[$rows][$fields]
For 
$k 1 To $rows
    $mysqlrow 
_MySQL_Fetch_Row($res,$fields)

    
$lenthsStruct _MySQL_Fetch_Lengths($res)

    For 
$i 1 To $fields
        $length 
DllStructGetData($lenthsStruct1$i)
        
$fieldPtr DllStructGetData($mysqlrow1$i)
        
$data DllStructGetData(DllStructCreate("char[" $length "]"$fieldPtr), 1)
        
$array[$k 1][$i 1] = $data
    Next
Next 
Möchtest du nun den Eintrag Testacc3 ausgeben, verwendest du einfach diesen Code:
MsgBox(0, "", $array[2][0])

Beim Array ist [0] auch ein Eintrag, daher must du immer von 0 zählen..
möchtest du also das Passwort von Testacc3 ausgeben, verwendest du:
MsgBox(0, "", $array[2][1])

Möchtest du dir das ganze Array betrachten, verwende diesen Befehl:
_ArrayDisplay($array)

Und da wär noch was...
benutzt du Arrays, must du zu beginn ein Include auf array.au3 machen...:
PHP Code:
#include <array.au3> 
-AmA- is offline  
Thanks
1 User
Old 01/26/2011, 11:08   #7
 
.2good4you111's Avatar
 
elite*gold: 20
Join Date: Oct 2010
Posts: 1,303
Received Thanks: 457
THANX =)


Jetzt weis ich auch wie Arrays funnzen

wieder was gelernt
.2good4you111 is offline  
Reply


Similar Threads Similar Threads
Titel von einer Website auslesen
09/11/2010 - AutoIt - 3 Replies
Hallo liebe Community, kennt ihr zufällig einen Befehl der den Titel einer Webseite (das was immer im Tab oben im Browser steht) auslesen kann? Falls ihr nicht wisst was ich meine: In HTML <title>Dieser Titel hier</title>
html frage (id einer hidden checkbox auslesen/herausfinden)
06/04/2010 - Web Development - 0 Replies
hay leute.. ich möchte nen bot mit autoit machen^^ aber nicht zurückschrecken meine frage hat so gut wie NICHTS MIT AUTOIT ZU TUN sondern eher mit HTML also: ich würde gerne die ID einer hidden checkbox im quelltext auslesen... für leute die nicht wissen was ich genau meine:
[SUCHE]ZUgang zu einer mysql für neue reittiere
05/24/2010 - Metin2 Private Server - 9 Replies
Hey leute/commu, Ich suche ein mysql server von einen p-server hamachi server nur!!! Was ich darauf machen werde ich will die neuen reittiere entbuggen da ich grad kein server habe dachte ich mir ob einer seinen server für mich bereit stellen würde. Ich werde nur ausprobioeren ob meine theorie stimmt und wenn es klappt habt ihr als einziger die neuen reittiere natürlich müsst ihr ein client besitzen wo die reittiere schon drin sind, aber das ist erst mal neben sache. Ich würde mich...
Auslesen der Parameter einer EXE
02/11/2009 - General Coding - 15 Replies
Hi! Hab mal ne Frage: Gibt es eine Möglichkeit die Parameter mit denen man eine EXE starten kann auszulesen? Beispiel: chkdsk /f Danke im Vorraus :)
Zufälliges Auslesen von Zeilen in einer TxT.
04/24/2006 - General Coding - 5 Replies
Ich bräuchte einen Beispiel Code, wie man aus einer TxT ca. 8 Stufen in einer Zeile ausließt und denen 8 eigene Variablen zuweist. z.B TXT : Sind dabei die Abstandshalter. 1 = &#036;1 11 = &#036;1 2 = &#036;2



All times are GMT +1. The time now is 15:01.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.