MySQL Warnings in PHP4 auslesen

Hallo!

ich verwende PHP 4.3.10 und würde gerne neben den Errors, auch
Warnings vom MySQL-Server auslesen, die zum Beispiel beim Schreiben von
NULL-Werten in NOT NULL-Spalten auftreten. Ist das irgendwie möglich?
Was ähnliches habe ich in der PHP.INI gefunden: mysql.trace_mode. Aber
dieser macht einfach nur vor jedem SELECT ein EXPLAIN SELECT und
schmeisst ne Warnung bei Tablescans etc.. Ich habe aus Sorge um die
Performance und der Problematik, dass man demnach nicht mehr ohne
Probleme SQL_CALC_FOUND_ROWS nutzen kann, diese Option ausgeschaltet.
Ist es nicht irgendwie möglich, die von MySQL ausgegebenen Warnungen
auszulesen?

Vielen Dank im Voraus!

Gruß,
Benjamin
Benny [ Do, 06 Oktober 2005 09:02 ] [ ID #999905 ]

Re: MySQL Warnings in PHP4 auslesen

Schreibe das hinter deinen Abruf...

echo mysql_errno($link) . ": " . mysql_error($link) . "\n";

Gruß
Ben

"Benny" <benjamin.wilger [at] web.de> schrieb im Newsbeitrag
news:1128582128.678502.78410 [at] g49g2000cwa.googlegroups.com...
Hallo!

ich verwende PHP 4.3.10 und würde gerne neben den Errors, auch
Warnings vom MySQL-Server auslesen, die zum Beispiel beim Schreiben von
NULL-Werten in NOT NULL-Spalten auftreten. Ist das irgendwie möglich?
Was ähnliches habe ich in der PHP.INI gefunden: mysql.trace_mode. Aber
dieser macht einfach nur vor jedem SELECT ein EXPLAIN SELECT und
schmeisst ne Warnung bei Tablescans etc.. Ich habe aus Sorge um die
Performance und der Problematik, dass man demnach nicht mehr ohne
Probleme SQL_CALC_FOUND_ROWS nutzen kann, diese Option ausgeschaltet.
Ist es nicht irgendwie möglich, die von MySQL ausgegebenen Warnungen
auszulesen?

Vielen Dank im Voraus!

Gruß,
Benjamin
BStrothmann [ Do, 06 Oktober 2005 11:27 ] [ ID #999906 ]

Re: MySQL Warnings in PHP4 auslesen

echo mysql_errno() . ": " . mysql_error() . "\n";

Sorry so...


"Benny" <benjamin.wilger [at] web.de> schrieb im Newsbeitrag
news:1128582128.678502.78410 [at] g49g2000cwa.googlegroups.com...
Hallo!

ich verwende PHP 4.3.10 und würde gerne neben den Errors, auch
Warnings vom MySQL-Server auslesen, die zum Beispiel beim Schreiben von
NULL-Werten in NOT NULL-Spalten auftreten. Ist das irgendwie möglich?
Was ähnliches habe ich in der PHP.INI gefunden: mysql.trace_mode. Aber
dieser macht einfach nur vor jedem SELECT ein EXPLAIN SELECT und
schmeisst ne Warnung bei Tablescans etc.. Ich habe aus Sorge um die
Performance und der Problematik, dass man demnach nicht mehr ohne
Probleme SQL_CALC_FOUND_ROWS nutzen kann, diese Option ausgeschaltet.
Ist es nicht irgendwie möglich, die von MySQL ausgegebenen Warnungen
auszulesen?

Vielen Dank im Voraus!

Gruß,
Benjamin
BStrothmann [ Do, 06 Oktober 2005 11:30 ] [ ID #999907 ]

Falsch verstanden!

Hallo Ben,

sorry, weder noch. Ich habe von *Warnungen* geredet, nicht *Fehlern*!
MySQL gibt natürlich Fehler aus, wenn man z.B. Syntaxfehler im Query
hat; diese werden dann auch per mysql_error ausgegeben. Allerdings
stuft MySQL z.B. das Schreiben von NULL Werten in NOT NULL Spalten als
*Warnung* ein. Diese werden von PHP nicht ausgelesen. MySQL-Tools wie
der QueryBrowser zeigen diese allerdings an.

Wie gesagt, ich wollte wissen, wie man die MySql-Warnungen ausliest, da
diese oft nützliche Informationen über schlecht geschriebene Queries
enthalten.

Trotzdem danke für die Antwort.

Grüße,
Benjamin W.

PS: Bitte vermeide TOFU (Text oben, Fullquote unten)! Siehe FAQ.
Benny [ Do, 06 Oktober 2005 13:45 ] [ ID #999908 ]

Re: Falsch verstanden!

Benny wrote:
> Wie gesagt, ich wollte wissen, wie man die MySql-Warnungen ausliest, da=

> diese oft nützliche Informationen über schlecht geschriebene Querie=
s
> enthalten.

mysql_query("SHOW WARNINGS");

--
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com
Hartmut Holzgraefe [ Do, 06 Oktober 2005 16:01 ] [ ID #999911 ]

Re: Falsch verstanden!

> mysql_query("SHOW WARNINGS");

That's what I'm talking about!
Vielen Dank! Und ich dachte, da gäbe es eine PHP-Funktion für. Super!

Gruß,
Benjamin
Benjamin Wilger [ Do, 06 Oktober 2005 17:30 ] [ ID #999914 ]
PHP » de.comp.lang.php.datenbanken » MySQL Warnings in PHP4 auslesen

Vorheriges Thema: PDF-Output aus mysql
Nächstes Thema: unixtimestamp zu date