phpbar.de logo

Mailinglisten-Archive

Perl-MySQL und Affected Rows

Perl-MySQL und Affected Rows

Gunar Werner mysql-de_(at)_lists.bttr.org
Tue, 3 Sep 2002 13:19:47 +0200


Nein, die Doku sagt, dass genau diese Angabe nicht verlässlich ist für 
SELECTs

> $affected_rows = $dbhup->do($sql_up);

Das muss funktionieren!

> $dbhup->do($sql_ins);
> $affected_rows = $dbhup->rows;

Das kann nicht funktionieren, der Befehl hat nur Gültigkeit zwischen
$sth->execute;
...
$sth->finish;
und ist somit nur für SELECTs applizierbar.

Bitte Spezial-Doku zu ->rows konsultieren.

Lieber so:
$rows = 0;
while ( _(at)_temp = $sth->fetchrow_array ) { 
	$variable[$a] = $temp[0]; 
	$rows++;
}

Gunar

*******
Dirk Munzinger hat am 3 Sep 2002 um 12:49 Uhr geschrieben:

> Moin,
> 
> normalerweise müsste eigentlich beim Zugriff auf MySQL über Perl's
> DBD::MySQL bei solchen Aufrufen:
> 
> $affected_rows = $dbhup->do($sql_up);
> 
> bzw.
> 
> $dbhup->do($sql_ins);
> $affected_rows = $dbhup->rows;
> 
> die Anzahl der verarbeiteten Datensätze (in C: mysql_affected_rows() )
> zurück gegeben werden - das besagt zumindest auch die Doku von MySQL.
> Dennoch bekomme ich immer nur -1 bzw. E0E zurück, was zwar als "Wert
> richtig ist" aber dennoch falsch, da die Anzahl der geänderten
> Datensätze > 0 ist. Kann jemand bestätigen, dass hier eine Problem auf
> Seiten DBI/DBD vorliegt oder kann jemand bestätigen, dass das Problem
> auf meiner Seite liegt ? Hier noch die beliebten Dot-Werte:
> 
> DBI 1.20
> DBD::MySQL 2.1018
> MySQL 4.0.1
> 
> Gruß, Dirk
> 
> 
> ---
> Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
> -->>  http://www.4t2.com/mysql 
> 
> 


---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive