Register a free account to unlock additional features at BleepingComputer.com
Welcome to BleepingComputer, a free community where people like yourself come together to discuss and learn how to use their computers. Using the site is easy and fun. As a guest, you can browse and view the various discussions in the forums, but can not create a new topic or reply to an existing one unless you are logged in. Other benefits of registering an account are subscribing to topics and forums, creating a blog, and having no ads shown anywhere on the site.


Click here to Register a free account now! or read our Welcome Guide to learn how to use this site.

Generic User Avatar

error: function fetch_all()


  • Please log in to reply
No replies to this topic

#1 guitarzRwe

guitarzRwe

  •  Avatar image
  • Members
  • 6 posts
  • OFFLINE
  •  
  • Local time:01:56 AM

Posted 17 August 2022 - 05:54 PM

Hi, once more trying to get a reasonable answer to this coding issue.
I'm a noobie with questions. I want to access a database table "payfile" and, based on the sum of
some of these fields, insert records into a database table "payhist". I realize now that I was in error
by trying to update and must insert records, with conditions, to a running history file. A lot of
research has gone into this and I thank so much for your patience and help. I'm lost from line 15-20.

code:
<?php
        echo "<center>";echo date('m/d/y');echo "<br />";
        $servername = "localhost";
        $username = "root";
        $password = "";
        $dbname = "prerentdb";
        // Create connection
        $mysqli = new mysqli($servername, $username, $password, $dbname);
        // Check connection
        if ($mysqli->connect_errno) {
        echo "Failed to connect to MySQL: " . $mysqli->connect_error;
        exit();
        }

        $amtpaid = filter_input(INPUT_GET, 'amtpaid');  // line 15
        $sql = "SELECT * FROM payfile WHERE amtpaid=?"; // FROM payfile where amtpaid!=' '";

        $stmt = $mysqli->prepare($sql);
        // $stmt->bind_param($id);
        $payfile = $stmt->get_result()->fetch_all(); // line 20
        $due=0;
        while($obj = fetch_object()){
        
        $due = $obj->prevbal + $obj->latechg + $obj->secdep + $obj->damage + $obj->courtcost + $obj->NSF;
        $amtdue = $obj->amtdue + due;
        // if no payment or partial payment, add $10 to latechg field and amount not paid to prevbal field
        $latechg = 0;
        $prevbal = 0;
        if ($obj->amtpaid < $obj->amtdue) {
        $latechg += 10;
        $prevbal = $obj->amtdue - $obj->amtpaid;
        }
        // if over-payment subtract over-payment
        // from prevbal field
        if ($amtpaid > $amtdue ) {
        $amtdue = $amtpaid - $amtdue;
        }
        // $nsf doesn't get used or saved
        $secdep = $damage = $courtcost = $nsf = 0;
        // refresh every record - give every record the below values
        $amtpaid = '0.00';
        $hudpay = '0.00';
        $datepaid = ' ';
        $comment = ' ';
        $paidsum = '0.00';

        // prepare and bind
$stmt = $mysqli -> prepare("INSERT INTO payhist
(tenant, unit, amtpaid, amtdue, prevbal,latechg, secdep, damage, courtcost, nsf, paidsum, hudpay,
datepaid, comment, phone, cell)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$stmt -> bind_param("ssiiiiiiiiiissss",'$tenant','$unit','$amtpaid','$amtdue','$prevbal','$latechg',
'$secdep','$damage','$courtcost', '$nsf','$paidsum','$hudpay','$datepaid','$comment','$phone','$cell');

// set parameters and execute
$tenant='tenant';
$unit='unit';
$amtdue='amtdue'; // decimal field, not null
$amtpaid='amtpaid'; // decimal field, not null
$duedate='duedate';
$datepaid='datepaid';
$prevbal="prevbal"; // decimal field, not null
$latechg='latechg'; // decimal field, not null
$secdep='secdep'; // decimal field, not null
$damage='damage'; // decimal field, not null
$courtcost='courtcost'; // decimal field, not null
$nsf='nsf'; // decimal field, not null
$paidsum='paidsum'; // decimal field, not null
$hudpay='hudpay'; // decimal field, not null
$comment='comment';
$phone='phone';
$cell='cell';

$stmt -> execute();

echo "New records created successfully";
$stmt -> close();
      }
?>

messages:
Fatal error: Uncaught Error: Call to a member function fetch_all() on bool on line 20



BC AdBot (Login to Remove)

 





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users