我正在尝试用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子句中不起作用
答案 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语句中使用了一个或者不包含错误文本的语句。如果实际上你无法在那里连接,那么你的脚本在开始时就会死掉而没有输出。这也是问题的原因。