PHP MySQL错误处理

PHP MySQL错误处理,php,mysql,Php,Mysql,简单的问题(我希望如此) 目前,我正在使用以下代码: mysql\u查询($sql)或标题(“位置:/error”) 为了防止脚本的其余部分运行,我需要添加exit或模具()。是否有任何方法可以使用上述内联方法实现这一点,或者我是否需要使用: $result = mysql_query($sql); if (!result) { header("Location: /error"); exit(); } 谢谢那么: function customDie($location) {

简单的问题(我希望如此)

目前,我正在使用以下代码:

mysql\u查询($sql)或标题(“位置:/error”)

为了防止脚本的其余部分运行,我需要添加
exit
模具()
。是否有任何方法可以使用上述内联方法实现这一点,或者我是否需要使用:

$result = mysql_query($sql);
if (!result) {
    header("Location: /error");
    exit();
}
谢谢

那么:

function customDie($location) {
    header('Location: ' . $location);
    exit();
}


mysql_query($sql) or customDie("/error");

您可以检查是否存在MySQL错误。如果以后需要进行检查,请执行以下操作:

$result = mysql_query($sql);
$error = mysql_error() != '' ? true : false;

/* fancy code */

if($error)
{
     header(location: url);
     exit;
}
编辑:我误读了你的问题,现在发现如果出现错误,你想终止它,这样你就可以:

if(mysql_error() != '')
{
     header();
     exit;
}

如果查询完成后没有错误,代码将继续。否则,用户将被重定向,代码将停止执行。

如果您坚持这样做,最好创建一个自定义查询方法来处理所有这些。差不多

function custom_mysql_query($query) {
  $doDebug=true; // Set to true when developing and false when you are deploying for real.

  $result=mysql_query($query);
  if(!$result) {
    if($doDebug) {
       // We are debugging so show some nice error output
       echo "Query failed\n<br><b>$query</b>\n";
       echo mysql_error(); // (Is that not the name)
     }
     else {
      // Might want an error message to the user here.
     }
     exit();
  }
}
函数自定义查询($query){
$doDebug=true;//开发时设置为true,实际部署时设置为false。
$result=mysql\u query($query);
如果(!$result){
如果($doDebug){
//我们正在调试,所以显示一些不错的错误输出
echo“查询失败\n
$Query\n”; echo mysql_error();/(这不是名称吗) } 否则{ //可能需要向此处的用户发送错误消息。 } 退出(); } }
然后只需调用custom_mysql_query而不是mysql_query,那么如果查询失败,那么您将始终死亡,如果
$debug
为true,您还将得到失败的查询和数据库错误

但是真的:你不应该使用mysql_查询或者调用它的函数(比如我刚才写的那个)。它太不安全了,永远不能使用。(很难避免sql注入)

使用pdo类而不是mysql方法(谷歌it,在线有很多教程和解释)

function custom_mysql_query($query) {
  $doDebug=true; // Set to true when developing and false when you are deploying for real.

  $result=mysql_query($query);
  if(!$result) {
    if($doDebug) {
       // We are debugging so show some nice error output
       echo "Query failed\n<br><b>$query</b>\n";
       echo mysql_error(); // (Is that not the name)
     }
     else {
      // Might want an error message to the user here.
     }
     exit();
  }
}