Wenn die Ergebnismenge leer ist, dann liefert dir mysql_num_rows 0 zurück. Verwendest du 0 zur Dimensionierung eines dynamischen Arrays, dann wird die Array-Variable Posts = nil. Du musst deinen Code ein wenig ändern:
Delphi-Quellcode:
query := '
SELECT * FROM user WHERE email="'+email+'
"';
mysql_real_query(_mycon,
query, Length(
query));
_myRes := mysql_store_result(_mycon);
SetLength(Posts, mysql_num_rows(_myRes));
if Assigned(Posts)
then // diese Zeile ist wichtig!
for i:= 0
to High(Posts)
do begin
_myRow := mysql_fetch_row(_myRes);
...
end;
Grüße vom marabu