П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 6041 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 8171 раз(а).

Учебник HTML.
Просмотров 4842 раз(а).

Руководство по PHP5.
Просмотров 1890 раз(а).

Хостинг через призму DNS.
Просмотров 6865 раз(а).

Подборка текстов стандартных документов.
Просмотров 57492 раз(а).

Учебник PHP - Самоучитель
Просмотров 5110 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 11248 раз(а).

Внешние атаки...
Просмотров 7093 раз(а).

Учебник PHP.
Просмотров 4188 раз(а).

SSI в примерах.
Просмотров 1158 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство по PHP
Пред. След.

sesam_diagnostic

(PHP 3 CVS only)

sesam_diagnostic --  Return status information for last SESAM call

Description

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:

Таблица 1. Status information returned by sesam_diagnostic()

ElementContents
$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:

Пример 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



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru