Parce que le
or die ca pique les yeux et ne rien mettre c'est encore pire
Extension : mysql
Gestion des erreurs avec
mysql.trace_mode
Options : On, Off
Défaut : Off
Recommandé : On
http://www.php.net/manual/fr/mysql.conf ... trace-mode
ini_set('mysql.trace_mode', 1);
mysql_connect('localhost', 'root');
$query = mysql_query('error');
Warning: mysql_query(): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'error' at line 1 in /Library/WebServer/Documents/test/index.php on line 3
Extension : mysqli
Gestion des erreurs avec
mysqli_report ou la
class mysqli_driver et sa propriété
report_mode
Options : MYSQLI_REPORT_OFF, MYSQLI_REPORT_ALL, MYSQLI_REPORT_STRICT, MYSQLI_REPORT_ERROR , MYSQLI_REPORT_INDEX
Défaut : MYSQLI_REPORT_OFF
Recommandé : MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_STRICT
Recommandé POO : MYSQLI_REPORT_ALL
http://fr.php.net/manual/fr/function.mysqli-report.php
http://fr.php.net/manual/fr/class.mysql ... eport-mode
//Procedural
mysqli_report(MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_STRICT);
$dbh = mysqli_connect('localhost', 'root');
$query = mysqli_query($dbh, 'error');
//POO
$driver = new mysqli_driver();
$driver->report_mode = MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_STRICT;
$dbh = new mysqli('localhost', 'root');
$query = $dbh->query('error');
Warning: mysqli::query(): (42000/1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'error' at line 1 in /Library/WebServer/Documents/test/index.php on line 6
Extension : PDO
Gestion des erreurs avec l'attribut
PDO::ATTR_ERRMODE
Options : PDO::ERRMODE_SILENT, PDO::ERRMODE_WARNING, PDO::ERRMODE_EXCEPTION
Défaut : PDO::ERRMODE_SILENT
Recommandé : PDO::ERRMODE_WARNING
Recommandé POO : PDO::ERRMODE_EXCEPTION
http://php.net/manual/fr/pdo.error-handling.php
try
{
$dbh = new PDO('mysql:host=localhost', 'root');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}
catch(PDOException $e)
{
exit($e->getMessage());
}
$query = $dbh->query('error');
Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'error' at line 1 in /Library/WebServer/Documents/test/index.php on line 11
EDIT pour les modos : ca aurait peu-être plus sa place dans
Vos contributions ou
FAQ et tutoriels 
Parce que le [b]or die[/b] ca pique les yeux et ne rien mettre c'est encore pire :wink:
[size=150][b]Extension : mysql[/b][/size]
Gestion des erreurs avec [i]mysql.trace_mode[/i]
Options : On, Off
Défaut : Off
Recommandé : On
http://www.php.net/manual/fr/mysql.configuration.php#ini.mysql.trace-mode
[php]ini_set('mysql.trace_mode', 1);
mysql_connect('localhost', 'root');
$query = mysql_query('error');[/php][php]Warning: mysql_query(): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'error' at line 1 in /Library/WebServer/Documents/test/index.php on line 3[/php]
[size=150][b]Extension : mysqli[/b][/size]
Gestion des erreurs avec [i]mysqli_report [/i]ou la[i] class mysqli_driver[/i] et sa propriété [i]report_mode[/i]
Options : MYSQLI_REPORT_OFF, MYSQLI_REPORT_ALL, MYSQLI_REPORT_STRICT, MYSQLI_REPORT_ERROR , MYSQLI_REPORT_INDEX
Défaut : MYSQLI_REPORT_OFF
Recommandé : MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_STRICT
Recommandé POO : MYSQLI_REPORT_ALL
http://fr.php.net/manual/fr/function.mysqli-report.php
http://fr.php.net/manual/fr/class.mysqli-driver.php#mysqli-driver.props.report-mode
[php]
//Procedural
mysqli_report(MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_STRICT);
$dbh = mysqli_connect('localhost', 'root');
$query = mysqli_query($dbh, 'error');
//POO
$driver = new mysqli_driver();
$driver->report_mode = MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_STRICT;
$dbh = new mysqli('localhost', 'root');
$query = $dbh->query('error');[/php][php]Warning: mysqli::query(): (42000/1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'error' at line 1 in /Library/WebServer/Documents/test/index.php on line 6[/php]
[size=150][b]Extension : PDO[/b][/size]
Gestion des erreurs avec l'attribut [i]PDO::ATTR_ERRMODE[/i]
Options : PDO::ERRMODE_SILENT, PDO::ERRMODE_WARNING, PDO::ERRMODE_EXCEPTION
Défaut : PDO::ERRMODE_SILENT
Recommandé : PDO::ERRMODE_WARNING
Recommandé POO : PDO::ERRMODE_EXCEPTION
http://php.net/manual/fr/pdo.error-handling.php
[php]try
{
$dbh = new PDO('mysql:host=localhost', 'root');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}
catch(PDOException $e)
{
exit($e->getMessage());
}
$query = $dbh->query('error');[/php][php]Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'error' at line 1 in /Library/WebServer/Documents/test/index.php on line 11[/php]
EDIT pour les modos : ca aurait peu-être plus sa place dans [i]Vos contributions[/i] ou [i]FAQ et tutoriels[/i] :?: