Hallo EL,
ich vermisse die Deklaration der function mysql_escape_string() und die Angabe auf welcher
DLL (libmysql.dll? Version?) du aufsetzt. Was muss man machen, um dein Problem nachzustellen?
Grüße vom marabu
Nachtrag: ... aber das hält mich nicht auf. Bei mir funktioniert es.
Delphi-Quellcode:
program test;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
src, tgt: string;
i: integer;
function mysql_escape_string(szTo, szFrom: pchar; len: cardinal): cardinal; stdcall;
external 'libmysql';
begin
src := 'geht doch'#13#10'oder etwa nicht?';
SetLength(tgt, Length(src) * 4);
i := mysql_escape_string(pchar(tgt), pchar(src), Length(src));
WriteLn(tgt);
ReadLn;
end.
Noch ein Nachtrag - mit
MYSQL.PAS geht auch das bei mir:
Delphi-Quellcode:
program test;
{$APPTYPE CONSOLE}
uses
SysUtils,
MySQL;
var
src, tgt:
string;
i: integer;
my: PMySQL;
begin
my := mysql_init(
nil);
if mysql_real_connect(my, '
localhost', '
root', '
', '
conpresso', 0,
nil, 0) = my
then begin
src := '
geht doch'#13#10'
oder etwa nicht?';
SetLength(tgt, Length(src) * 4);
try
i := mysql_real_escape_string(my, pchar(tgt), pchar(src), Length(src));
WriteLn(tgt);
except
on E:
Exception do
WriteLn(e.
message);
end;
ReadLn;
end;
mysql_close(my);
end.