簡體   English   中英

MySQLi 更新和死亡(); 和退出(); 不工作

[英]MySQLi update and die(); and exit(); not working

我正在嘗試用 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');
}

似乎 die(); 出口(); 或任何其他錯誤在 if 子句中不起作用

$eintrag->error(); {die('Not Working');} $eintrag->error(); {die('Not Working');}每次都會死,即使一切都很好,因為 PHP 會看到語句$eintrag->error()和代碼塊{die('Not Working');}

你應該這樣使用:

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

這是否意味着如果沒有錯誤死亡

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

刪除!

感謝您的幫助,我嘗試了您所有的提示,但突然間奏效了

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

如果用以下內容替換主 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 語句中使用了 or die 語句,該語句不包含錯誤文本。 如果實際上您無法連接到那里,則您的腳本在開始時就死了,沒有輸出。 這也將是問題的一個原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM