Hello
I am porting HeidiSQl to Lazarus and my project is here:
https://github.com/nadavvin/HeidiLazarusSQLI got error on mysql_fetch_row: Error: Incompatible types: got "PPChar" expected "PMYSQL_ROW"
I did example project for this issue and it failed on the same problem.
It failed on compile and without the mysql_fetch_row it run and connected to the database.
row is PMYSQL_ROW defined in mysql.inc and it defined as:
PMYSQL_ROW = ^MYSQL_ROW; // return data as array of strings
MYSQL_ROW = ppchar;
The example code:
program project1;
{$mode objfpc}{$H+}
uses
mysql55;
var
mysql: PMYSQL;
s: PMYSQL;
ClientFlags: qword;
sql: AnsiString;
status: Integer;
result: PMYSQL_RES;
row: PMYSQL_ROW;
begin
ClientFlags := CLIENT_LOCAL_FILES or CLIENT_INTERACTIVE or CLIENT_PROTOCOL_41 or CLIENT_MULTI_STATEMENTS or CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS;
WriteLn(ClientFlags);
mysql := mysql_init(nil);
s:=mysql_real_connect(mysql, 'localhost', 'root', 'root', nil, 3306,nil,ClientFlags);
if s <> nil then begin
WriteLn('Success');
end else begin
WriteLn('Failed');
end;
sql := 'show databases';
status := mysql_real_query(mysql,PAnsiChar(sql), Length(sql));
result := mysql_store_result(mysql);
row := mysql_fetch_row(result);
end.
Thanks for your help