Mailinglisten-Archive |
On Fri, Jun 29, 2001 at 09:10:08AM +0200, Bjoern Schotte wrote:
> * Markus Dobel wrote:
> > obwohl (wie sich nachher herausstellte) schon laenger bekannt (Doppelte
> > Sessions bei MySQL).
>
> Welche doppelten Session meinst du damit genau?
Leider ist das phplib-Archiv nicht Verfuegbar. Ich seh gerade, dass ich
natuerlich vergessen habe, dazuzuschreiuben, welche Datei ich da
gepatched hab. Es handelt sich um ct_sql.inc.
Das schoenste war uebrigens, dass es schon einen Workaround extra fuer
das Problem im Code gab. Er funktionierte nur nicht.
Date: Mon, 14 May 2001 16:52:32 +0200
From: Markus Dobel <mdobel_(at)_kawo2.rwth-aachen.de>
To: phplib_(at)_lists.netuse.de
User-Agent: Mutt/1.2.5i
Organization: Foerderverein fuer binaeres Denken
X-Operating-System: Linux 2.2.16-9mdk i586
X-A-D-2101: ALL YOUR BASE ARE BELONG TO US.
Subject: [phplib] Patch: MySQL and duplicate session records
Hi,
I saw this problem several times here on the mailing list and now had
the same here. With MySQL, affected_rows() returns 0 for updates where
actually no data is changed. (e.g. "update bla set fasel=fasel" affects
all rows but actually changes none.). This happens in phplib, when
session data are stored unchanged *twice* in one second.
The implemented workaround for this is not working, but here's a patch
which should solve the problem.
Regards, Markus
--- cut here ---
_(at)__(at)_ -103,14 +103,15 _(at)__(at)_
# no changes to the table data (i.e. UPDATE tbl SET col = 'x', when
# "col" is _already_ set to 'x') so then,
# SECOND, query(SELECT...) on the sid to determine if the row is in
- # fact there,
+ # fact there, fetch the result
# THIRD, verify that there is at least one row present, and if there
# is not, then
# FOURTH, insert the row as we've determined that it does not exist.
if ( $this->db->affected_rows() == 0
&& $this->db->query($squery)
- && $this->db->f(1) == 0
+ && $this->db->next_record()
+ && $this->db->f(0) == 0
&& !$this->db->query($iquery)) {
$ret = false;
---------------------------------------------------------------------
To unsubscribe, e-mail: phplib-unsubscribe_(at)_lists.netuse.de
For additional commands, e-mail: phplib-help_(at)_lists.netuse.de
--
Spiegel-Leser wissen mehr. Fuer ein Semester-Abo!
http://www.kawo2.rwth-aachen.de/~mdobel/semesterabo.html
php::bar PHP Wiki - Listenarchive