Seite 2 von 2

Re: anmerkung: contenido-cvs-2005-10-28.tar

Verfasst: Mo 31. Okt 2005, 12:39
von timo
m.wohlers hat geschrieben:Aus

Code: Alles auswählen

* © four for business AG, www.4fb.de
wurde

Code: Alles auswählen

* � four for business AG, www.4fb.de
und aus

Code: Alles auswählen

		$match = "/^[a-z0-9ÄäÖöÜüß ]+$/i";
wurde

Code: Alles auswählen

		$match = "/^[a-z0-9������� ]+$/i";
Ist korrekt - aber frag mich nicht, warum daraus UTF-8 wurde (sieht zumindest wie UTF-8 aus ;))
ich häng wieder mal was ran...

include.con_edit_form.php
Habe ich geändert, genauso wie die MySQLi-Änderungen. Die MySQL-Extension wird jetzt per Default verwendet (mit MySQLi scheints wohl noch mehr Problemchen zu geben), wenn sie vorhanden ist. Dummerweise ist ein PHP5 mit MySQL UND MySQLi ziemliche fummelarbeit, die meisten Provider werden wohl nur MySQLi anbieten...

Verfasst: Mo 31. Okt 2005, 13:05
von timo
Ich hab jetzt auch ein witziges Phänomän:

Notice: Use of undefined constant MYSQL_BOTH, assumed 'MYSQL_BOTH'

Warning: mysqli_fetch_array() expects parameter 2 to be long, string given

Verfasst: Mo 31. Okt 2005, 13:09
von timo
achja selbst gelöst:

es muß MYSQLI_BOTH sein, nicht MYSQL_BOTH, da MYSQL_BOTH = MYSQLI_BOTH ist, aber MYSQL_BOTH in einem PHP5 ohne MySQL-Extension nicht zur Verfügung steht...

Verfasst: Mo 31. Okt 2005, 13:50
von emergence
hast du das...
-> http://contenido.org/forum/viewtopic.php?p=58663#58663
.. kurz angetestet ob es bei dir auch ein problem verursacht..

Verfasst: Mo 31. Okt 2005, 14:07
von timo
nein, ich hatte das Problem auf diversen PHP5-Installationen nicht - wenn ich es gehabt hätte, hätte ich es gelöst ;)

Verfasst: Mo 31. Okt 2005, 15:40
von emergence
hmm...
ich halte das nämlich für einen bug in mysqli selbst...
hier wurde etwas ähnliches beschrieben -> http://bugs.php.net/bug.php?id=29019
ist aber closed...

Verfasst: Mo 31. Okt 2005, 19:53
von emergence
ähm... nur nach schneller durchsicht der 4.6.0
db_mysqli.inc hat jetzt zwar die close methode -> die db_mysql.inc hingegen nicht...

ob's da jetzt gewaltig krachen wird ?

denke/hoffe/glaube nicht...

;-)

Verfasst: Mo 31. Okt 2005, 20:50
von timo
mysql sowie mysqli sind ja beide eigenständige Klassen...insofern haben die nichts miteinander zu tun

Verfasst: Di 1. Nov 2005, 13:43
von emergence
ähm wie ?
ich meinte was anderes...

der jetzige code

Code: Alles auswählen

function dbUpdateSequence($sequencetable, $table, $db = false)
{
	global $cfg;
	
	if ($db === false)
	{
		$bClose = true;
		$db = new DB_Upgrade;	
	} else {
		$bClose = false;	
	}
	
...bla bla...
	
	if ($bClose == true)
	{
		$db->close();	
	}
}
funktioniert nur dann mit db_mysql.inc wenn er wie folgt aufgerufen wird...

Code: Alles auswählen

dbUpdateSequence($sequencetable, $table, $db);
ruft man nun die funktion ohne $db parameter auf, wird
1. $bClose = true; gesetzt...
und
2. am ende ein $db->close(); versucht...

und da diese methode nicht in der mysql.inc vorhanden ist wird es zwangsläufig zu einem fehler führen...

eigentlich war meinerseits nicht gedacht das dieser code überhaupt in die mysqli reinkommen sollte...

Verfasst: Di 1. Nov 2005, 13:48
von timo
achso...ja wie gesagt, ich hab das Problem mit MySQLi und dem close nie gehabt

insofern kann ich nicht sagen was richtig und was falsch ist - da müßte dann was von dir kommen, aber da hast du recht, der direkte aufruf auf die Methode close darf dann nur bei MySQLi passieren

Verfasst: Di 1. Nov 2005, 14:08
von emergence
...da müßte dann was von dir kommen
logisch...

ich muss mir da einen most simplest testcase zusammen bauen mit dem ich das immer reproduzieren kann... wenn es wirklich ein bug in der mysqli extension ist poste ich mal einen bug report bei bugs.php.net, mal sehen was die dazu meinen...

Verfasst: Di 8. Nov 2005, 20:06
von timo
okay ich habe jetzt mal nachgesehen

bei mysql_close steht, daß nicht-persistente Links automatisch geschlossen werden, bei mysqli_close steht leider gar nichts

wäre möglich, daß es dort auch eine Config-Option wie bei MySQL gibt

Ich habe aber trotzdem in der db_mysql.inc zusätzlich eine Methode close() eingefügt, die erstmal nichts macht.