Mysqli->多次查询一次后不执行第二次查询

时间:2013-08-01 09:37:47

标签: php sql

我真的很担心这个功能是如何工作的。 我的目标是在用户提交表单数据时在2个表中插入数据。 1)每当用户刷新时,假设数据被顺序插入两个表中,但在这种情况下,仅下面的表图像受到影响。 http://prestadsng.com/capturedb2.png 2)如果我尝试提交另一个数据,除了刷新我得到错误,但数据仍然添加到表中(错误=严格标准:mysqli :: next_result():没有下一个结果集。请调用mysqli_more_results( )/ mysqli :: more_results()检查是否在第38行的C:\ wamp \ www \ pms \ include \ config.php中调用此函数/方法) 3)新插入的数据id不会随着++而增加,而是使用下面的图像 http://prestadsng.com/capturedb.png

我真正想要实现的是 1)刷新完成后,应在两个表上插入数据 2)2查询表不应该抛出错误,也应该用++

我的代码在

下面
public function multiQueryInsert($query){
    if($this->conn->multi_query($query)){
        do{
            $this->conn->store_result();
            $this->conn->more_results();

        }
        while($this->conn->next_result());
        return true;
    }
    else{
        return $this->conn->errno;
    }
    $this->conn->close();
}

$query = "INSERT INTO `tbl1`(`name`, `phone`, `address`, `email`, `cell`, `pcf`, `church`, `subgroup`, `group`, `zone`, `dob`, `occupation`, `status`) VALUES ('$names','$phone','$address','$email','$cell','$pcf','$church','$subgroup','$group','$zone','$dob','$occupation','$status');";

$query .= "INSERT INTO `cec_users` (`uid`, `pswd`, `Name`, `Email`, `church`) VALUES ('$fname','$password','$names','$email','$church')";
        if($db->multiQueryInsert($query) === TRUE){
            echo '<div class="success"><p>Partner added successfully</p></div>';
        }
        else{
            echo '<div class="error"><p>Error adding partner: '.$db->conn->error.'</p></div>';
        }

0 个答案:

没有答案