sesam_diagnostic --
Return status information for last SESAM call
Syntax
array sesam_diagnostic ( void )
Returns an associative array of status and return codes for the
last SQL query/statement/command. Elements of the array are:
Table 1.
Status information returned by sesam_diagnostic()
Element
Contents
$array["sqlstate"]
5 digit SQL return code (see the SESAM manual for the
description of the possible values of SQLSTATE)
$array["rowcount"]
number of affected rows in last update/insert/delete (set
after "immediate" statements only)
$array["errmsg"]
"human readable" error message string (set after errors
only)
$array["errcol"]
error column number of previous error (0-based; or -1 if
undefined. Set after errors only)
$array["errlin"]
error line number of previous error (0-based; or -1 if
undefined. Set after errors only)
In the following example, a syntax error (E SEW42AE ILLEGAL
CHARACTER) is displayed by including the offending SQL statement
and pointing to the error location:
Example 1. Displaying SESAM error messages with error position
<?php // Function which prints a formatted error message, // displaying a pointer to the syntax error in the // SQL statement function PrintReturncode($exec_str) { $err = Sesam_Diagnostic(); $colspan=4; // 4 cols for: sqlstate, errlin, errcol, rowcount if ($err["errlin"] == -1) --$colspan; if ($err["errcol"] == -1) --$colspan; if ($err["rowcount"] == 0) --$colspan; echo "<table border=\"1\">\n"; echo "<tr><th colspan=\"" . $colspan . "\"><span class=\"spanred\">ERROR:</span> ". htmlspecialchars($err["errmsg"]) . "</th></tr>\n"; if ($err["errcol"] >= 0) { echo "<tr><td colspan=\"" . $colspan . "\"><pre>\n"; $errstmt = $exec_str . "\n"; for ($lin=0; $errstmt != ""; ++$lin) { if ($lin != $err["errlin"]) { // $lin is less or greater than errlin if (!($i = strchr($errstmt, "\n"))) $i = ""; $line = substr ($errstmt, 0, strlen($errstmt)-strlen($i)+1); $errstmt = substr($i, 1); if ($line != "\n") echo htmlspecialchars($line); } else { if (! ($i = strchr ($errstmt, "\n"))) $i = ""; $line = substr ($errstmt, 0, strlen ($errstmt)-strlen($i)+1); $errstmt = substr($i, 1); for ($col=0; $col < $err["errcol"]; ++$col) { echo (substr($line, $col, 1) == "\t") ? "\t" : "."; } echo "<span class=\"spanred\">\\</span>\n"; echo "<span class=\"normal\">" . htmlspecialchars($line) . "</span>"; for ($col=0; $col < $err["errcol"]; ++$col) { echo (substr ($line, $col, 1) == "\t") ? "\t" : "."; } echo "<span class=\"spanred\">/</span>\n"; } } echo "</pre></td></tr>\n"; } echo "<tr>\n"; echo " <td>sqlstate=" . $err["sqlstate"] . "</td>\n"; if ($err["errlin"] != -1) echo " <td>errlin=" . $err["errlin"] . "</td>\n"; if ($err["errcol"] != -1) echo " <td>errcol=" . $err["errcol"] . "</td>\n"; if ($err["rowcount"] != 0) echo " <td>rowcount=" . $err["rowcount"] . "</td>\n"; echo "</tr>\n"; echo "</table>\n"; }
if (!sesam_connect ("mycatalog", "phoneno", "otto")) die ("cannot connect");
$stmt = "SELECT * FROM phone\n" . " WHERE@ LASTNAME='KRAEMER'\n" . " ORDER BY FIRSTNAME"; if (!($result = sesam_query ($stmt))) PrintReturncode ($stmt); ?>
See also: sesam_errormsg() for simple access
to the error string only
Php sesam diagnostic Function syntax tag
sesam diagnostic php code on this is provided for your study purpose, it will guide you to know how create and design a website using php. use it to practice and train your self online
Php sesam diagnostic syntax tutorial
php tutorial guide and code design are for easy learning and programming. The code practice section provided at the top is for practising of this syntax. Use the code section up to practice your php programming online. Learning php is very easy, all you need is to use the examples on this site and practice them to perfect your skills.