Mysql Connection

Mac OSX specific forum
User avatar
mk-soft
Always Here
Always Here
Posts: 5335
Joined: Fri May 12, 2006 6:51 pm
Location: Germany

Re: Mysql Connection

Post by mk-soft »

I have the same problem with mysql driver. It´s a architecture failure...

This can help... http://www.purebasic.fr/english/viewtop ... 12&t=56390

Ups... Not ready all.
Look under '/usr/local' is driver installed. Perhaps you must change the path and name to the driver

Actuel drivers on https://dev.mysql.com/downloads/connector/c/

P.S. Works with new MySQl driver. Change mysql.pbi to

Code: Select all

...
CompilerCase #PB_OS_MacOS
        If Path_To_MySQL_Lib = ""
          CompilerIf #PB_Compiler_Processor = #PB_Processor_x64
            Path_To_MySQL_Lib = "/usr/local/mysql-connector-c-6.1.9-macos10.12-x86_64/lib/libmysqlclient.18.dylib"
            ;Path_To_MySQL_Lib = "/usr/local/mysql-connector-c-6.1.6-osx10.8-x86_64/lib/libmysqlclient.18.dylib"
          CompilerElse
            Path_To_MySQL_Lib = "/usr/local/mysql-connector-c-6.1.9-macos10.12-x86/lib/libmysqlclient.18.dylib"
            ;Path_To_MySQL_Lib = "/usr/local/mysql-connector-c-6.1.6-osx10.8-x86/lib/libmysqlclient.18.dylib"
          CompilerEndIf  
         EndIf
         MySQL_Lib = OpenLibrary(#PB_Any, Path_To_MySQL_Lib)
         If MySQL_Lib = 0
            MySQL_Lib = OpenLibrary(#PB_Any, "libmysqlclient.dylib")
         EndIf
...      
Example

Code: Select all

;-TOP

IncludeFile "mysql.pbi"

UseMySQLDataBase()

Procedure CheckDatabaseUpdate(Database, Query$)
  Result = DatabaseUpdate(Database, Query$)
  If Result = 0
    Debug DatabaseError()
  EndIf
  
  ProcedureReturn Result
EndProcedure

database.s = "host=server port=3306 dbname=developer"
user.s = "developer"
pass.s = "purebasic"

If OpenDatabase(0, database, user, pass, #PB_Database_MySQL)
  CheckDatabaseUpdate(0, "CREATE TABLE food (name CHAR(50), weight INT)")
  
  CheckDatabaseUpdate(0, "INSERT INTO food (name, weight) VALUES ('apple', '10')")
  CheckDatabaseUpdate(0, "INSERT INTO food (name, weight) VALUES ('pear', '5')")
  CheckDatabaseUpdate(0, "INSERT INTO food (name, weight) VALUES ('banana', '20')")
  
  If DatabaseQuery(0, "SELECT * FROM food WHERE weight > 5")
    While NextDatabaseRow(0)
      Debug GetDatabaseString(0, 0)
    Wend
    FinishDatabaseQuery(0)
  EndIf
  
  CloseDatabase(0)
Else
  Debug "Can't open database !"
  CallDebugger
EndIf
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive