我试图通过执行一个过程将数据插入表中,该过程的一个参数是另一个查询的输出,所以我在查询的每个循环上调用过程,每次提供的参数都会不同。我必须先运行删除查询,然后再运行给出参数,过程的查询,然后再运行两个插入查询。 现在的问题是,该过程在查询的第一个循环中执行得很好,但是在第二个循环中它抛出了错误
mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given
代码为
global $connect;
global $con;
global $rptcon;
global $rptcon2;
session_start();
if (isset( $_SESSION['uid'] )){
$uid = $_SESSION['uid'];
$fyr = $_SESSION['fyr'];
}else{
$uid = 0;
$fyr = "";
}
if ( isset( $_POST['fromdt']) ) {
$frdt = $_POST['fromdt'];
$todt = $_POST['todt'];
$cmb = $_POST['cmb'];
$opt = $_POST['opt'];
}
$sqlqry = "";
$sqlqry = "DELETE FROM TMPREPORT";
$connect = mysqli_query($con , $sqlqry);
$connec = "";
$sqlqr = "SELECT ACCD FROM ACMASTER WHERE UID = $uid";
$conn = mysqli_query($rptcon2 , $sqlqr);
while ( $m = mysqli_fetch_array($conn,MYSQLI_ASSOC) ){
$partyid = $m['ACCD'];
$sqlqry = "call REPORT($uid,'$fyr','$frdt', '$todt','P',$partyid)";
$connect = mysqli_query($con , $sqlqry);
if ( mysqli_num_rows($connect) > 0 ){
while ( $rows = mysqli_fetch_array($connect,MYSQLI_ASSOC) ){
$date = $rows['DATE'];
$ac = $rows['ACCOUNT'];
$subac = $rows['SUBACCOUNT'];
$dr = $rows['DEBIT'];
$granddr = 10000 ;//$granddr + $dr;
$cr = $rows['CREDIT'];
$grandcr = 10000 ;//$grandcr + $cr;
$x = $dr -$cr;
$bal = $bal + $x;
if ($date == ""){
$date = "1900/01/01";
}
$sqlqryy = "INSERT INTO TMPREPORT VALUES(
'$date','$ac','$subac',$dr,$cr,$bal
)";
mysqli_query($rptcon , $sqlqryy);
}
$sqlqryyy = "INSERT INTO TMPREPORT VALUES(
'1900/01/01','Total','',$grandcr,$grandcr,$bal
)";
mysqli_query($rptcon , $sqlqryyy);
$connect = "";
$sqlqry = "";
}else{
echo "No Record Found!";
}
}
考虑到它正在激怒连接,我在需要的地方选择了单独的连接