|
@@ 696-722 (lines=27) @@
|
| 693 |
|
* @return string |
| 694 |
|
* erreur eventuelle |
| 695 |
|
**/ |
| 696 |
|
function spip_sqlite_error($query = '', $serveur = ''){ |
| 697 |
|
$link = _sqlite_link($serveur); |
| 698 |
|
|
| 699 |
|
if (_sqlite_is_version(3, $link)){ |
| 700 |
|
$errs = $link->errorInfo(); |
| 701 |
|
/* |
| 702 |
|
$errs[0] |
| 703 |
|
numero SQLState ('HY000' souvent lors d'une erreur) |
| 704 |
|
http://www.easysoft.com/developer/interfaces/odbc/sqlstate_status_return_codes.html |
| 705 |
|
$errs[1] |
| 706 |
|
numéro d'erreur SQLite (souvent 1 lors d'une erreur) |
| 707 |
|
http://www.sqlite.org/c3ref/c_abort.html |
| 708 |
|
$errs[2] |
| 709 |
|
Le texte du message d'erreur |
| 710 |
|
*/ |
| 711 |
|
$s = ''; |
| 712 |
|
if (ltrim($errs[0],'0')) { // 00000 si pas d'erreur |
| 713 |
|
$s = "$errs[2]"; |
| 714 |
|
} |
| 715 |
|
} elseif ($link) { |
| 716 |
|
$s = sqlite_error_string(sqlite_last_error($link)); |
| 717 |
|
} else { |
| 718 |
|
$s = ": aucune ressource sqlite (link)"; |
| 719 |
|
} |
| 720 |
|
if ($s) spip_log("$s - $query", 'sqlite.'._LOG_ERREUR); |
| 721 |
|
return $s; |
| 722 |
|
} |
| 723 |
|
|
| 724 |
|
/** |
| 725 |
|
* Retourne le numero de la dernière erreur SQL |
|
@@ 737-753 (lines=17) @@
|
| 734 |
|
* 1 ou autre erreur (en sqlite 2) |
| 735 |
|
* 'HY000/1' : numéro de l'erreur SQLState / numéro d'erreur interne SQLite (en sqlite 3) |
| 736 |
|
**/ |
| 737 |
|
function spip_sqlite_errno($serveur = ''){ |
| 738 |
|
$link = _sqlite_link($serveur); |
| 739 |
|
|
| 740 |
|
if (_sqlite_is_version(3, $link)){ |
| 741 |
|
$t = $link->errorInfo(); |
| 742 |
|
$s = ltrim($t[0],'0'); // 00000 si pas d'erreur |
| 743 |
|
if ($s) $s .= ' / ' . $t[1]; // ajoute l'erreur du moteur SQLite |
| 744 |
|
} elseif ($link) { |
| 745 |
|
$s = sqlite_last_error($link); |
| 746 |
|
} else { |
| 747 |
|
$s = ": aucune ressource sqlite (link)"; |
| 748 |
|
} |
| 749 |
|
|
| 750 |
|
if ($s) spip_log("Erreur sqlite $s", 'sqlite.'._LOG_ERREUR); |
| 751 |
|
|
| 752 |
|
return $s ? $s : 0; |
| 753 |
|
} |
| 754 |
|
|
| 755 |
|
|
| 756 |
|
// http://doc.spip.org/@spip_sqlite_explain |