MySQLi更新和die();和exit();不工作

时间:2013-12-05 13:53:55

标签: mysql mysqli sql-update exit die

我正在尝试用MySQLi替换我的MySQL,我得到结果 - 没关系但是当我更新MySQL时我的代码失败了(我只更新了MySQL部分)

inc_mysql_connect.php

$db = mysqli_connect($host, $user, $pass, $dbase) or die (); 

inc_global_functions.php

if($_POST['costAlertTrue'] != "") {

// CHECKS AND IF ERROR - REDIRECT BACK
if(..) {$_SESSION['status'] ="E1"; header("Location: ./?page=cAlert"); exit();}
if(..) ...

// SQL
$sql = "UPDATE ".$dbprfx."_users SET costAlertVar = ? WHERE connection = ?";
$eintrag = $db->prepare($sql);
if ($eintrag->error()) { print($eintrag->error()); }
$eintrag->bind_param('ss',$costAlertVar,$userConnection);
$eintrag->execute();
$eintrag->close();

// REDIRECT 
$_SESSION['status'] ="on"; header("Location: ./?page=cAlert");

} // End

任何人都可以在这段代码中找到错误吗?

通知

if($_POST['costAlertTrue'] != "") {
die('XX'); exit('XX');
}

似乎死();出口();或者任何其他错误在if子句中不起作用

4 个答案:

答案 0 :(得分:0)

$eintrag->error(); {die('Not Working');}每次都会死,即使一切都很好,因为PHP会看到语句$eintrag->error()和代码块{die('Not Working');}

您应该使用如下:

if (!$eintrag->error()) { die('Not Working'); }

答案 1 :(得分:0)

这意味着如果没有错误消失

if (!$eintrag->error()) { die('Not Working'); }

删除!

答案 2 :(得分:0)

感谢你的所有帮助,我尝试了所有的提示,但突然之间起了作用

$sql = "UPDATE ".$dbprfx."_users SET costAlertVar = ? WHERE connection = ?";
$eintrag = $db->prepare( $sql );
$eintrag->bind_param('ss',$costAlertVar,$userConnection);
$eintrag->execute();
$eintrag->close();

答案 3 :(得分:0)

如果用以下内容替换主if语句会发生什么?我已经使它变得相当简单,所以只要你正确传递$ db变量,这应该会给你一些结果。

if($_POST['costAlertTrue'] != "") {
    // CHECKS AND IF ERROR - REDIRECT BACK
    if(..) {$_SESSION['status'] ="E1"; header("Location: ./?page=cAlert"); exit();}
    if(..) ...

    // SQL
    $sql = "UPDATE ".$dbprfx."_users SET costAlertVar = ? WHERE connection = ?";


    //$eintrag = $db->prepare($sql);
    //if ($eintrag->error()) { print($eintrag->error()); }
    if($db->connect_errno > 0){
            die("Error connecting to db.");
    }

    //$eintrag->bind_param('ss',$costAlertVar,$userConnection);
    //$eintrag->execute();
    if(!$result = query($sql)){
            die("Error running query");
    }
    //$eintrag->close();
    $db->close();

    // REDIRECT 
    $_SESSION['status'] ="on"; header("Location: ./?page=cAlert");

} // End

另外我注意到你在mysqlic_connect语句中使用了一个或者不包含错误文本的语句。如果实际上你无法在那里连接,那么你的脚本在开始时就会死掉而没有输出。这也是问题的原因。