这是我的代码一切正常,数据也插入数据库但在执行功能后我没有得到重定向。 这是函数的定义,最后是函数的调用
require_once('config.php');
function addRecord($post = array(),$table,$ommit) {
global $conn;
$sql = $sql2 = "";
$ommitFields = explode(',',$ommit);
$sql = 'INSERT INTO '.$table.' SET';
foreach($post as $key=>$val){
if(!in_array($key,$ommitFields) and $val !='') {
$sql2 .= ", $key='$val'";
}
}
$sql2 = trim($sql2, ',');
$sql = $sql.$sql2;
mysqli_query($conn,$sql);
}
if($_POST['axn'] == 'insert') {
if(addRecord($_POST,'data_table','axn') == TRUE) {
header('location:index.php');
}
}
答案 0 :(得分:1)
因为你的函数没有返回代码,如果工作错误。写在函数的末尾:
return mysqli_query($conn,$sql);
}
答案 1 :(得分:0)
也许你想要:
function addRecord($post = array(),$table,$ommit) {
global $conn;
$sql = $sql2 = "";
$ommitFields = explode(',',$ommit);
$sql = 'INSERT INTO '.mysql_real_escape_string($table).' SET';
foreach($post as $key=>$val){
if(!in_array($key,$ommitFields) and $val !='') {
$sql2 .= ", $key='$val'";
}
}
$sql2 = trim($sql2, ',');
$sql = $sql.$sql2;
return mysqli_query($conn,$sql);
}
这将返回mysqli_query,TRUE或FALSE的结果,具体取决于数据库查询的成功。