global $globals;
if (!XDB::$mysqli && !XDB::connect()) {
- return false;
+ header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error');
+ Platal::page()->kill('Impossible de se connecter à la base de données.');
+ exit;
}
if ($globals->debug & DEBUG_BT) {
XDB::$mysqli->error,
$explain);
}
+
+ if ($res === false) {
+ header($_SERVER['SERVER_PROTOCOL'] . ' 500 Internal Server Error');
+ if (strpos($query, 'INSERT') === false && strpos($query, 'UPDATE') === false
+ && strpos($query, 'REPLACE') === false && strpos($query, 'DELETE') === false) {
+ $text = 'Erreur lors de l\'interrogation de la base de données';
+ } else {
+ $text = 'Erreur lors de l\'écriture dans la base de données';
+ }
+ if ($globals->debug) {
+ $text .= '<pre>' . pl_entities(XDB::_reformatQuery($query)) . '</pre>';
+ } else {
+ $file = fopen($globals->spoolroot . '/spool/tmp/query_errors', 'a');
+ fwrite($file, '<pre>' . pl_entities(XDB::_reformatQuery($query)) . '</pre>'
+ . '<pre>' . XDB::$mysqli->error . '</pre>' . "\n");
+ fclose($file);
+ }
+ Platal::page()->kill($text);
+ exit;
+ }
return $res;
}
return 'NULL';
case 'object':
+ if ($var instanceof PlFlagSet) {
+ return "'" . addslashes($var->flags()) . "'";
+ }
case 'array':
return "'".addslashes(serialize($var))."'";