There's an example, using PostgreSQL driver: ---------------------------------------------------- <?php $sql = new PDO('pgsql:host=localhost;dbname=postgres', 'postgres', '', array( PDO::ATTR_LOG_NOTICES => PDO::NOTICES_FETCH )); var_dump($sql);
echo "getAttribute: "; var_dump($sql->getAttribute(PDO::ATTR_LOG_NOTICES)); echo 'Notices: '; var_dump($sql->noticeInfo()); $q1 = $sql->query('CREATE OR REPLACE FUNCTION test_notice (v_int integer) RETURNS integer AS $$ BEGIN RAISE NOTICE \'Sympatique % !\', v_int; RAISE NOTICE \'Sympatique un nouvelle fois % !\', v_int; RAISE NOTICE \'Génial maintenant... % \', v_int; RETURN 12; END; $$ LANGUAGE plpgsql;'); $q2 = $sql->query('SELECT * FROM test_notice(1)'); echo 'Query: '; var_dump($q2); echo 'Notices: '; var_dump($sql->noticeInfo()); ?> ---------------------------------------------------- That will return: ---------------------------------------------------- object(PDO)#1 (0) { } getAttribute: bool(true) Notices: bool(false) Query: object(PDOStatement)#3 (1) { ["queryString"]=> string(28) "SELECT * FROM test_notice(1)" } Notices: array(3) { [0]=> string(23) "NOTICE: Sympatique 1 !" [1]=> string(40) "NOTICE: Sympatique un nouvelle fois 1 !" [2]=> string(33) "NOTICE: Génial maintenant... 1 " } Query: object(PDOStatement)#4 (1) { ["queryString"]=> string(10) "SELECT 1,2" } Notices: bool(false) ---------------------------------------------------- Samuel. Le jeudi 08 octobre 2009 à 23:51 +0200, Samuel ROZE a écrit : > Hi, > > I've make a patch which insert notices concepts to PDO. It create: > - PDO::noticeInfo() - to be like errorInfo > - PDO::ATTR_LOG_NOTICES, the name of the PDO parameter > - PDO::NOTICES_FETCH - fetch notices > - PDO::NOTICES_NONE - don't fetch notices > > The notices HashTable is emptied at each queries. > > There is a patch to implements this function into PDO: > http://www.d-sites.com/wp-content/uploads/2009/10/php-5_3-pdo-notices-managment.patch > > And one other to implements notices recuperation for PostgreSQL: > http://www.d-sites.com/wp-content/uploads/2009/10/php-5_3-pdo-pgsql-notices-managment.patch > > It can be done for Oracle, i'm sure. > > Thanks for feedbacks. > Samuel. > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php