note 118156 added to pdo.exec

From: Date: Fri, 16 Oct 2015 11:20:25 +0000
Subject: note 118156 added to pdo.exec
Groups: php.notes 
Request: Send a blank email to php-notes+get-203968@lists.php.net to get a copy of this message
PDO::eval() might return false for some statements (e.g. CREATE TABLE) even if the operation completed successfully, when using PDO_DBLIB and FreeTDS. So it is not a reliable way of testing the op status. PDO::errorInfo() can be used to test the SQLSTATE error code for '00000' (success) and '01000' (success with warning). <?php function execute(PDO $conn, $sql) { $affected = $conn->exec($sql); if ($affected === false) { $err = $conn->errorInfo(); if ($err[0] === '00000' || $err[0] === '01000') { return true; } } return $affected; } ?> PDO::errorInfo(): http://php.net/manual/en/pdo.errorinfo.php List of SQLSTATE Codes: http://www-01.ibm.com/support/knowledgecenter/SSGU8G_11.70.0/com.ibm.sqls.doc/ids_sqs_0809.htm ---- Server IP: 72.52.91.14 Probable Submitter: 188.27.49.197 ---- Manual Page -- http://php.net/manual/en/pdo.exec.php Edit -- https://master.php.net/note/edit/118156 Del: integrated -- https://master.php.net/note/delete/118156/integrated Del: useless -- https://master.php.net/note/delete/118156/useless Del: bad code -- https://master.php.net/note/delete/118156/bad+code Del: spam -- https://master.php.net/note/delete/118156/spam Del: non-english -- https://master.php.net/note/delete/118156/non-english Del: in docs -- https://master.php.net/note/delete/118156/in+docs Del: other reasons-- https://master.php.net/note/delete/118156 Reject -- https://master.php.net/note/reject/118156 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#203968) next »