PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » работа с mysql


работа с mysql

Сообщений 1 страница 9 из 9

1

всем доброго времени суток
недавно занялся програмирование на ПБ.. мне оч понравился язык и синтаксис,
появилась задача

написать клиент серверное приложение

клиент имеет поле для ввода данных
туда вводится ник игрока
этот ник отсылается на сервер каждые 45 секунд пока работает клиентская часть

сервер принимает данные
соединяется с базой данный "game" на mySQL по адрессу localhost
порт 3360
логин root
пасс password

там таблица members
в таблице 2 поля nik  status

сервер сверяет данные из поля nik.. находит соотвествие.. и в той же строчке ставит в поле status значение 1
если же сервер в течении минуты не получил снова ник от клиетской стороны, то возвращает поле status в значение 0

то есть пока клиентская часть включена и шлёт ник, то в поле статус 1, если же она не включена то поле возвращается в 0

для отправной точки взял исходы

клиент

Код:
If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 6832

ConnectionID = OpenNetworkConnection("127.0.0.1", Port)
If ConnectionID
  MessageRequester("PureBasic - Client", "Client connected to server...", 0)
  
  ; Окно с полем для ввода текста.
String.s = InputRequester("Заголовок","Текст в окне","Текст в поле")
; Отображаем что ввели.
MessageRequester("Вы ввели",String)
  
  SendNetworkString(ConnectionID, String)
    
  MessageRequester("PureBasic - Client", "A string has been sent to the server, please check it before quit...", 0)
  
  CloseNetworkConnection(ConnectionID)
Else
  MessageRequester("PureBasic - Client", "Can't find the server (Is it launched ?).", 0)
EndIf
  
End   

в кленте пока не реализовал цикл и красивого окошка с гаджетами (если есть пример был бы благодарен.. вапше ниразу не делал окна с гаджетами..даже впринципе незнаю как.. покажите буду благодарен и научусь.. к примеру незнаю как фон картинкой поставить, кнопки там итд итп)

а сервер вот

If InitNetwork() = 0
  MessageRequester("Error", "Can't initialize the network !", 0)
  End
EndIf

Port = 6832
*Buffer = AllocateMemory(1000)

If CreateNetworkServer(0, Port)

  MessageRequester("PureBasic - Server", "Server created (Port "+Str(Port)+").", 0)
  
  Repeat
      
    SEvent = NetworkServerEvent()
  
    If SEvent
    
      ClientID = EventClient()
  
      Select SEvent
      
        Case #PB_NetworkEvent_Connect
          MessageRequester("PureBasic - Server", "A new client has connected !", 0)
  
        Case #PB_NetworkEvent_Data
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a packet !", 0)
          ReceiveNetworkData(ClientID, *Buffer, 1000)
          MessageRequester("Info", "String: "+PeekS(*Buffer), 0)
  
        Case #PB_NetworkEvent_File
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has send a file via the network !", 0)
          ReceiveNetworkFile(ClientID, "C:\TEST_Network.ftp3")
  
        Case #PB_NetworkEvent_Disconnect
          MessageRequester("PureBasic - Server", "Client "+Str(ClientID)+" has closed the connection...", 0)
          Quit = 1
    
      EndSelect
    EndIf
    
  Until Quit = 1 
  
  MessageRequester("PureBasic - Server", "Click to quit the server.", 0)
  
  CloseNetworkServer(0)
Else
  MessageRequester("Error", "Can't create the server (port in use ?).", 0)
EndIf

  
End

вот понятия не имею как научить его работать с базой..

гуру подскажите.. был бы оч благодарен..пока только учусь))
С Уважением Силверан!!!

0

2

Работа с базой данных типа обсуждалась mySQL здесь http://purebasic.info/phpBB2/viewtopic.php?t=1602

В простейшем случае, вот код подключения к базе данных:

Код:
  UsePostgreSQLDatabase() 

   ; You should have a server running on localhost 
   ; 
   If OpenDatabase(0, "host=localhost port=3360", "root", "password") 
     Debug "Connected to PostgreSQL" 
   Else 
     Debug "Connection failed: "+DatabaseError() 
   EndIf

Описание функций для работы с базой данных имеется в справке в разделе Database.

0

3

спааасибо, буду грысть гранит науки..

0

4

люди .. понимаю нагло звучит, но чёт всё равно не разобрался(( на примере можете показать.. типа окошко, ввёл скажем слово test нажали ентер, далее прога конектится к базе , к таблице скажем tablica , там 2 поля, находит в каком есть слово тест, и во втором поле (статус) ставит 1...
а то я реально до второго пришествия буду разбираться, а на основе этого примера сделаю свою задачу
понимаю нагло звучит, надежды мало ну всёж верю в чудо
С Уважением Силверан...

0

5

Для этого нужно иметь базу данных.
А если ее нет, то сложно помочь.

0

6

а если я дам базу?

0

7

silveran написал(а):

а если я дам базу?

Я в общем говорю что базы данных этого типа нет и не приходилось с ней работать (иначе была бы).

0

8

жаль, а чисто теоритически? но как доктор прописал, попробуйте написать без конечного теста а я сам проверю..

0

9

Код:
; MySQL 5 DLL-Wrapper Include - Version: 0.2b
; OS: Linux / Windows / AmigaOS / MacOSX ? ( can somone test this ? )
; Author: Marius Eckardt (Thalius)
; Syntaxcompatible & based on LibMySQL by Flype
; Last Changes: 29.10.2007
;
; Inspired by Flype's Userlib for Windows - i just needed a Version that runs under Linux aswell.
; There could have been alot of more checks/wraps, but in favor of speed and compatibility with Flype's
; Userlib i kept the Syntax the same.
;
; Requirements ( Version 5x of ):
; Linux  : libmysqlclient.so  - ( installed with "mysql-shared" Pakages )
; MacOSX : libmysqlclient.so
; Windows: libmysql.dll
; AmigaOS: mysqlclient.library
;
; ToDo:
;  - Bugfixes ! ( getting used to Prototype's ... ;)
;  - Descriptions / Examples
;  - stmt functions
; -----------------------------------------------------------------------------------------------

;- OS Check
CompilerSelect #PB_Compiler_OS
  CompilerCase #PB_OS_Windows
    #MysqlDllFilename$ = "libmysql.lib"
  CompilerCase #PB_OS_Linux
    #MysqlDllFilename$ = "/usr/lib/libmysqlclient.so";symlink may be needed
  CompilerCase #PB_OS_MacOS
    #MysqlDllFilename$ = "libmysqlclient.so"
  CompilerCase #PB_OS_AmigaOS
    #MysqlDllFilename$ = "mysqlclient.library"
CompilerEndSelect

;- Structures
Structure MYSQL
EndStructure
Structure MYSQL_RES
EndStructure
Structure MYSQL_BIND
EndStructure
Structure MYSQL_STMT
EndStructure

Structure MYSQL_ROW
  *field[255]
EndStructure
Structure MYSQL_FIELD
  name.s
  org_name.s
  table.s
  org_table.s
  db.s
  catalog.s
  def.s
  length.l
  max_length.l
  name_length.l
  org_name_length.l
  table_length.l
  org_table_length.l
  db_length.l
  catalog_length.l
  def_length.l
  flags.l
  decimals.l
  charset_nr.l
  type.l
EndStructure
Structure MY_CHARSET_INFO
  number.l
  state.l
  csname.s
  name.s
  Comment.s
  dir.s
  mbminlen.l
  mbmaxlen.l
EndStructure

CompilerIf #PB_Compiler_OS = #PB_OS_Windows
  Import #MysqlDllFilename$
CompilerElse
  ImportC #MysqlDllFilename$
CompilerEndIf


  ; ** Start Prototypes **

  ; Function : mysql_get_client_info()
  ; Usage    : PeekS(mysql_get_client_info())
  ; Desc     : Returns Pointer to Version STRING of Mysql Client
  mysql_get_client_info()

  ; Function : mysql_get_client_version()
  ; Usage    : Result.l = mysql_get_client_version()
  ; Desc     : Returns Versionnumber as LONG of Mysql Client
  mysql_get_client_version()

  ; Function : mysql_errno()
  ; Usage    : Result.l = mysql_get_client_info(*MySQLHandle)
  ; Desc     : Returns Error No as LONG
  mysql_errno(*mysql.MYSQL)

  ; Function : mysql_init()
  ; Usage    : *MySQLHandle = mysql_init(#Null)
  ; Desc     : Returns MySQL DB Handle as LONG
  mysql_init(*mysql.MYSQL) 

  ; Function : mysql_real_connect(*mysql.MYSQL,host.p-utf8,user.p-utf8,passwd.p-utf8,db.p-utf8,port.l,unix_socket.p-utf8,client_flag.l)
  ; Usage    : Result.l = mysql_real_connect(*mysql.MYSQL,host.p-utf8,user.p-utf8,passwd.p-utf8,db.p-utf8,port.l,unix_socket.p-utf8,client_flag.l)
  ; Desc     :
  mysql_real_connect(*mysql.MYSQL,host.p-utf8,user.p-utf8,passwd.p-utf8,db.p-utf8,port.l,unix_socket.p-utf8,client_flag.l) 

  ; Function : mysql_get_parameters()
  ; Usage    : debug Hex(mysql_get_parameters())
  ; Desc     :
  mysql_get_parameters()

  ; Function : mysql_sqlstate()
  ; Usage    : State.p-utf8 = PeekS(mysql_sqlstate(*MySQLHandle))
  ; Desc     :
  mysql_sqlstate(*mysql.MYSQL)

  ; Function : mysql_error()
  ; Usage    : PeekS(mysql_error(*MySQLHandle))
  ; Desc     : Returns Pointer as LONG to ErrormessageString
  mysql_error(*mysql.MYSQL)

  ; Function : mysql_get_server_version()
  ; Usage    : Result.l = mysql_get_server_version(*MySQLHandle)
  ; Desc     : Returns LONG from ServerVersion
  mysql_get_server_version(*mysql.MYSQL)

  ; Function : mysql_get_server_info()
  ; Usage    : PeekS(mysql_get_server_info(*MySQLHandle))
  ; Desc     : Returns Pointer as LONG to ServerInfoString
  mysql_get_server_info(*mysql.MYSQL)

  ; Function : mysql_get_host_info()
  ; Usage    : PeekS(mysql_get_host_info(*MySQLHandle))
  ; Desc     : Returns Pointer as LONG to HostInfoString / Connectioninfo
  mysql_get_host_info(*mysql.MYSQL) 

  ; Function : mysql_select_db()
  ; Usage    : mysql_select_db(*MySQLHandle, Databasename.p-utf8)
  ; Desc     : Selects current Database
  mysql_select_db(*mysql.MYSQL, Databasename.p-utf8)

  ; Function : mysql_get_proto_info()
  ; Usage    : Result.l = mysql_get_proto_info(*MySQLHandle))
  ; Desc     :
  mysql_get_proto_info(*mysql.MYSQL)

  ; Function : mysql_info()
  ; Usage    : Result.l = mysql_info(*MySQLHandle))
  ; Desc     :
  mysql_info(*mysql.MYSQL)

  ; Function : mysql_insert_id()
  ; Usage    : Result.l = mysql_insert_id(*MySQLHandle))
  ; Desc     : Returns Inserted ID as LONG
  mysql_insert_id(*mysql.MYSQL)

  ; Function : mysql_affected_rows()
  ; Usage    : Result.l = mysql_affected_rows(*MySQLHandle))
  ; Desc     :
  mysql_affected_rows(*mysql.MYSQL) 

  ; Function : mysql_autocommit()
  ; Usage    : mysql_autocommit(*MySQLHandle,#Bool) ; #True / #False
  ; Desc     :
  mysql_autocommit(*mysql.MYSQL,*mode.Byte) 

  ; Function : mysql_character_set_name()
  ; Usage    : mysql_character_set_name(*MySQLHandle)
  ; Desc     :
  mysql_character_set_name(*mysql.MYSQL) 

  ; Function : mysql_close()
  ; Usage    : mysql_close(*MySQLHandle)
  ; Desc     : Closes the MySQL Connection
  mysql_close(*mysql.MYSQL) 

  ; Function : mysql_commit()
  ; Usage    : mysql_commit(*MySQLHandle)
  ; Desc     :
  mysql_commit(*mysql.MYSQL) 

  ; Function : mysql_debug()
  ; Usage    : mysql_debug(DebugString.p-utf8)
  ; Desc     :
  mysql_debug(DebugString.p-utf8) 

  ; Function : mysql_disable_reads_from_master()
  ; Usage    : mysql_disable_reads_from_master(*MySQLHandle)
  ; Desc     :
  mysql_disable_reads_from_master(*mysql.MYSQL) 

  ; Function : mysql_disable_rpl_parse()
  ; Usage    : mysql_disable_rpl_parse(*MySQLHandle)
  ; Desc     :
  mysql_disable_rpl_parse(*mysql.MYSQL) 

  ; Function : mysql_dumPB_debug_info()
  ; Usage    : mysql_dumPB_debug_info(*MySQLHandle)
  ; Desc     :
  mysql_dumPB_debug_info(*mysql.MYSQL) 

  ; Function : mysql_embedded()
  ; Usage    : mysql_embedded()
  ; Desc     :
  mysql_embedded() 

  ; Function : mysql_enable_reads_from_master()
  ; Usage    : mysql_enable_reads_from_master(*MySQLHandle)
  ; Desc     :
  mysql_enable_reads_from_master(*mysql.MYSQL) 

  ; Function : mysql_enable_rpl_parse()
  ; Usage    : mysql_enable_rpl_parse(*MySQLHandle)
  ; Desc     :
  mysql_enable_rpl_parse(*mysql.MYSQL) 

  ; Function : mysql_field_count()
  ; Usage    : mysql_field_count(*MySQLHandle)
  ; Desc     :
  mysql_field_count(*mysql.MYSQL) 

  ; Function : mysql_library_end()
  ; Usage    : mysql_library_end(*MySQLHandle)
  ; Desc     :
  mysql_library_end(*mysql.MYSQL) 

  ; Function : mysql_list_processes()
  ; Usage    : mysql_list_processes(*MySQLHandle)
  ; Desc     :
  mysql_list_processes(*mysql.MYSQL) 

  ; Function : mysql_more_results()
  ; Usage    : mysql_more_results(*MySQLHandle)
  ; Desc     :
  mysql_more_results(*mysql.MYSQL) 

  ; Function : mysql_next_result()
  ; Usage    : mysql_next_result(*MySQLHandle)
  ; Desc     :
  mysql_next_result(*mysql.MYSQL) 

  ; Function : mysql_ping()
  ; Usage    : mysql_ping(*MySQLHandle)
  ; Desc     :
  mysql_ping(*mysql.MYSQL) 

  ; Function : mysql_read_query_result()
  ; Usage    : mysql_read_query_result(*MySQLHandle)
  ; Desc     :
  mysql_read_query_result(*mysql.MYSQL) 

  ; Function : mysql_reload()
  ; Usage    : mysql_reload(*MySQLHandle)
  ; Desc     :
  mysql_reload(*mysql.MYSQL) 

  ; Function : mysql_rollback()
  ; Usage    : mysql_rollback(*MySQLHandle)
  ; Desc     :
  mysql_rollback(*mysql.MYSQL) 

  ; Function : mysql_rpl_parse_enabled()
  ; Usage    : mysql_rpl_parse_enabled(*MySQLHandle)
  ; Desc     :
  mysql_rpl_parse_enabled(*mysql.MYSQL) 

  ; Function : mysql_rpl_probe()
  ; Usage    : mysql_rpl_probe(*MySQLHandle)
  ; Desc     :
  mysql_rpl_probe(*mysql.MYSQL) 

  ; Function : mysql_server_end()
  ; Usage    : mysql_server_end()
  ; Desc     :
  mysql_server_end() 

  ; Function : mysql_thread_end()
  ; Usage    : mysql_thread_end()
  ; Desc     :
  mysql_thread_end() 

  ; Function : mysql_thread_init()
  ; Usage    : mysql_thread_init()
  ; Desc     :
  mysql_thread_init() 

  ; Function : mysql_thread_safe()
  ; Usage    : mysql_thread_safe()
  ; Desc     :
  mysql_thread_safe() 

  ; Function : mysql_stat()
  ; Usage    : mysql_stat(*MySQLHandle)
  ; Desc     :
  mysql_stat(*mysql.MYSQL) 

  ; Function : mysql_store_result()
  ; Usage    : *MySQLResult = mysql_store_result(*MySQLHandle)
  ; Desc     :
  mysql_store_result(*mysql.MYSQL)

  ; Function : mysql_thread_id()
  ; Usage    : Result.l = mysql_thread_id(*MySQLHandle)
  ; Desc     :
  mysql_thread_id(*mysql.MYSQL) 

  ; Function : mysql_use_result()
  ; Usage    : mysql_use_result(*MySQLHandle)
  ; Desc     :
  mysql_use_result(*mysql.MYSQL) 

  ; Function : mysql_warning_count()
  ; Usage    : mysql_warning_count(*MySQLHandle)
  ; Desc     :
  mysql_warning_count(*mysql.MYSQL) 

  ; Function : mysql_change_user()
  ; Usage    : mysql_change_user(*MySQLHandle, user.p-utf8, passwd.p-utf8, db.p-utf8)
  ; Desc     :
  mysql_change_user(*mysql.MYSQL,user.p-utf8,passwd.p-utf8,db.p-utf8) 

  ; Function : mysql_data_seek()
  ; Usage    : mysql_data_seek(*MySQLResult, offset.d)
  ; Desc     :
  mysql_data_seek(*result.MYSQL_RES,offset.d) 

  ; Function : mysql_eof()
  ; Usage    : mysql_eof(*MySQLResult)
  ; Desc     :
  mysql_eof(*result.MYSQL_RES) 

  ; Function : mysql_escape_string()
  ; Usage    : mysql_escape_string(strTo.p-utf8, strFrom.p-utf8, length.l)
  ; Desc     :
  mysql_escape_string(strTo.p-utf8,strFrom.p-utf8,length.l) 

  ; Function : mysql_fetch_field()
  ; Usage    : *field.MYSQL_FIELD = mysql_fetch_field(*MySQLResult)
  ; Desc     :
  mysql_fetch_field(*result.MYSQL_RES) 

  ; Function : mysql_fetch_field_direct()
  ; Usage    : *field.MYSQL_FIELD = mysql_fetch_field_direct(*MySQLResult, fieldnr.l)
  ; Desc     :
  mysql_fetch_field_direct(*result.MYSQL_RES,fieldnr.l) 

  ; Function : mysql_fetch_fields()
  ; Usage    : *fieldArray.MYSQL_FIELD = mysql_fetch_fields(*MySQLResult)
  ; Desc     :
  mysql_fetch_fields(*result.MYSQL_RES) 

  ; Function : mysql_fetch_lengths()
  ; Usage    : mysql_fetch_lengths(*MySQLResult)
  ; Desc     :
  mysql_fetch_lengths(*result.MYSQL_RES) 

  ; Function : mysql_fetch_row()
  ; Usage    : *row.MYSQL_ROW = mysql_fetch_row(*MySQLResult)
  ; Desc     :
  mysql_fetch_row(*result.MYSQL_RES) 

  ; Function : mysql_field_seek()
  ; Usage    : mysql_field_seek(*MySQLResult, offset.l)
  ; Desc     :
  mysql_field_seek(*result.MYSQL_RES,offset.l) 

  ; Function : mysql_field_tell()
  ; Usage    : mysql_field_tell(*MySQLResult)
  ; Desc     :
  mysql_field_tell(*result.MYSQL_RES) 

  ; Function : mysql_free_result()
  ; Usage    : mysql_free_result(*MySQLResult)
  ; Desc     :
  mysql_free_result(*result.MYSQL_RES) 

  ; Function : mysql_get_character_set_info()
  ; Usage    : mysql_get_character_set_info(*MySQLResult, *MySQL_CharsetInfo)
  ; Desc     :
  mysql_get_character_set_info(*mysql.MYSQL,*cs.MY_CHARSET_INFO) 

  ; Function : mysql_hex_string()
  ; Usage    : mysql_hex_string(strTo.p-utf8, strFrom.p-utf8, length.l)
  ; Desc     :
  mysql_hex_string(strTo.p-utf8,strFrom.p-utf8,length.l) 

  ; Function : mysql_kill()
  ; Usage    : mysql_kill(*MySQLHandle, pid.l)
  ; Desc     :
  mysql_kill(*mysql.MYSQL,pid.l) 

  ; Function : mysql_library_init()
  ; Usage    : mysql_library_init(argc.l, argv.l, groups.l)
  ; Desc     :
  mysql_library_init(argc.l,argv.l,Groups.l) 

  ; Function : mysql_list_dbs()
  ; Usage    : mysql_list_dbs(*MySQLHandle, Wildcard.p-utf8)
  ; Desc     :
  mysql_list_dbs(*mysql.MYSQL,wild.p-utf8) 

  ; Function : mysql_list_fields()
  ; Usage    : mysql_list_fields(*MySQLHandle, Table.p-utf8, Wildcard.p-utf8)
  ; Desc     :
  mysql_list_fields(*mysql.MYSQL,table.p-utf8,wild.p-utf8) 

  ; Function : mysql_list_tables()
  ; Usage    : mysql_list_tables(*MySQLHandle, Wildcard.p-utf8)
  ; Desc     :
  mysql_list_tables(*mysql.MYSQL,wild.p-utf8) 

  ; Function : mysql_master_query()
  ; Usage    : mysql_master_query(*MySQLHandle, query.p-utf8, length.l)
  ; Desc     :
  mysql_master_query(*mysql.MYSQL,query.p-utf8,length.l) 

  ; Function : mysql_num_fields()
  ; Usage    : Result.l = mysql_num_fields(*MySQLResult)
  ; Desc     :
  mysql_num_fields(*result.MYSQL_RES) 

  ; Function : mysql_num_rows()
  ; Usage    : Result.l = mysql_num_rows(*MySQLResult)
  ; Desc     :
  mysql_num_rows(*result.MYSQL_RES) 

  ; Function : mysql_options()
  ; Usage    : Result.l = mysql_options(*MySQLHandle, option.l, arg.p-utf8)
  ; Desc     :
  mysql_options(*mysql.MYSQL,option.l,arg.p-utf8) 

  ; Function : mysql_query()
  ; Usage    : Result.l = mysql_query(*MySQLHandle, query.p-utf8)
  ; Desc     :
  mysql_query(*mysql.MYSQL,query.p-utf8) 

  ; Function : mysql_real_escape_string()
  ; Usage    : mysql_real_escape_string(*MySQLHandle, strTo.p-utf8, strFrom.p-utf8, length.l)
  ; Desc     :
  mysql_real_escape_string(*mysql.MYSQL,strTo.p-utf8,strFrom.p-utf8,length.l) 

  ; Function : mysql_real_query()
  ; Usage    : *MySQLResult = mysql_real_query(*MySQLHandle, query.p-utf8, length.l)
  ; Desc     :
  mysql_real_query(*mysql.MYSQL,query.p-utf8,length.l) 

  ; Function : mysql_refresh()
  ; Usage    : mysql_refresh(*MySQLHandle, options.l)
  ; Desc     :
  mysql_refresh(*mysql.MYSQL,Options.l) 

  ; Function : mysql_row_seek()
  ; Usage    : mysql_row_seek(*MySQLHandle, offset.l)
  ; Desc     :
  mysql_row_seek(*mysql.MYSQL,offset.l) 

  ; Function : mysql_row_tell()
  ; Usage    : mysql_row_tell(*MySQLResult)
  ; Desc     :
  mysql_row_tell(*result.MYSQL_RES) 

  ; Function : mysql_rpl_query_type()
  ; Usage    : mysql_rpl_query_type(*MySQLHandle, type.l)
  ; Desc     :
  mysql_rpl_query_type(*mysql.MYSQL,type.l) 

  ; Function : mysql_send_query()
  ; Usage    : mysql_send_query(*MySQLHandle, query.p-utf8, length.l)
  ; Desc     :
  mysql_send_query(*mysql.MYSQL,query.p-utf8,length.l) 

  ; Function : mysql_server_init()
  ; Usage    : mysql_server_init(argc.l, argv.l, groups.l)
  ; Desc     :
  mysql_server_init(argc.l,argv.l,Groups.l) 

  ; Function : mysql_set_character_set()
  ; Usage    : mysql_set_character_set(*MySQLHandle, csname.p-utf8)
  ; Desc     :
  mysql_set_character_set(*mysql.MYSQL,csname.p-utf8) 

  ; Function : mysql_set_server_option()
  ; Usage    : mysql_set_server_option(*MySQLHandle, option.l)
  ; Desc     :
  mysql_set_server_option(*mysql.MYSQL,option.l) 

  ; Function : mysql_shutdown()
  ; Usage    : mysql_shutdown(*MySQLHandle, shutdown_level.l)
  ; Desc     :
  mysql_shutdown(*mysql.MYSQL,shutdown_level.l) 

  ; Function : mysql_slave_query()
  ; Usage    : mysql_slave_query(*MySQLHandle, query.p-utf8, length.l)
  ; Desc     :
  mysql_slave_query(*mysql.MYSQL,query.p-utf8,length.l) 

  ; Function : mysql_ssl_set()
  ; Usage    : mysql_ssl_set(*MySQLHandle, key.p-utf8, cert.p-utf8, ca.p-utf8, capath.p-utf8, cipher.p-utf8)
  ; Desc     :
  mysql_ssl_set(*mysql.MYSQL,key.p-utf8,cert.p-utf8,ca.p-utf8,capath.p-utf8,cipher.p-utf8) 

  EndImport
  
Procedure.s PeekS_Utf8(*buffer);also checks if buffer is valid, returns an empty string if *buffer is 0
  If *buffer
    ProcedureReturn PeekS(*buffer, -1, #PB_UTF8)
  Else
    ProcedureReturn ""
  EndIf
EndProcedure


;   Debug "Info:    " + PeekS(mysql_get_client_info(), -1, #PB_UTF8)
;   Debug "Version: " + Str(mysql_get_client_version())
;   Debug Hex(mysql_get_parameters())
;   
;   *hDB = mysql_init(#Null)
; 
;   If *hDB     
;     If mysql_real_connect(*hDB,"127.0.0.1","root","password","",3306,"NULL",#Null)
;       mysql_autocommit(*hDB,#True)
;       Debug "Connected!"
;       Debug mysql_get_server_version(*hDB)
; 
;       
;       Debug "Server:"
;       Debug PeekS(mysql_get_server_info(*hDB), -1, #PB_UTF8)
;       Debug "Connection:"
;       Debug PeekS(mysql_get_host_info(*hDB), -1, #PB_UTF8)
;       Debug "Protocolgeneration:"
;       Debug Str(mysql_get_proto_info(*hDB))
;       
;       If mysql_select_db(*hDB,"test") <> 1
;         Debug "* DB Selected"
;         
;         If mysql_query(*hDB,"SHOW TABLES") <> 1
;           Debug "* Query made..."
;           ; get next INSERT ID
;           id = mysql_insert_id(*hDB)
;           If id
;             Debug "id>"+Str(id)
;           EndIf
;           ; get query info
;           *info = mysql_info(*hDB)
;           If *info
;             Debug PeekS(*info, -1, #PB_UTF8)
;           EndIf
;           
;           ; do we have a Result ?
;           If mysql_field_count(*hDB)
;             *result = mysql_store_result(*hDB)
;             
;             If *result
;               Debug "* Got Result!"
;               nRows.l = mysql_num_rows(*result)
;               Debug "Num Rows: " + Str(nRows.l)
;               
;               For i = 0 To nRows.l - 1
;                 *row.MYSQL_ROW = mysql_fetch_row(*result)
;                 If *row
;                     Rows.s = ""
;                     For j = 0 To mysql_num_fields(*result) - 1
;                         Rows + PeekS_Utf8(*row\field[j]) + ", ";PeekS_Utf8() does a peeks in utf8 mode, but if *row\field[j] is null (field is empty) it returns an empty string.
;                     Next
;                   Debug Rows
;                   Debug "rows>"+Rows
;                 EndIf
;               Next
;               
;               mysql_free_result(*result)
;             EndIf
;             
;           EndIf
;           
;         Else
;           Debug PeekS(mysql_error(*hDB), -1, #PB_UTF8)
;         EndIf
;         
;       Else
;         Debug Str(mysql_errno(*hDB))
;         Debug "Database Error!"
;         Debug PeekS(mysql_error(*hDB), -1, #PB_UTF8)
;       EndIf
;     
;     Else ; No Connect, Error!
;       Debug "Error: "
;       Debug PeekS(mysql_error(*hDB), -1, #PB_UTF8)
;     EndIf
;     
;     mysql_close(*hDB)
;     
;   EndIf

;*************************************************************************************************

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » работа с mysql