Hi, my first attempt at pdo, will someone tell me where I went astray?
--------------------------------------------------------------------------
the code:
<?php
$host = '127.0.0.1';
$db = 'homedb';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
echo "<center>";echo date('m/d/y');echo "</center>";
$tenant=$_POST['tenant'];
$unit=$_POST['unit'];
$amtpaid=$_POST['amtpaid'];
$hudpay=$_POST['hudpay'];
$datepaid=$_POST['datepaid'];
$amtpaid='amtpaid';
$amtdue='amtdue';
$hudpay='hudpay';
$prevbal='prevbal';
$latechg='latechg';
$datepaid='datepaid';
$stmt = $pdo->query('SELECT tenant, unit, amtpaid, amtdue, hudpay, prevbal, latechg, datepaid FROM paytbl');
while ($row = $stmt->fetch())
{
echo $row['tenant'] . "\n";
}
/* if no pay or part pay, add $35 to latechg field and amount not paid to prevbal field */
if ($amtpaid < $amtdue)
{ $latechg = $latechg + "35.00"; $prevbal = $amtdue - $amtpaid; }
/* if payment = amtdue */
elseif ($amtpaid == $amtdue)
{ $prevbal = $prevbal - $prevbal;
$latechg = $latechg - $latechg; }
/* *****************************unexpected ';'*******************************
// if over-payment subtract over-payment from prevbal
else ($amtpaid > $amtdue )
{ $prevbal = $amtpaid - $amtdue;
$latechg = $latechg - $latechg; }
****************************************************************************** */
/* Perform a query, check for error */
$sql = "UPDATE paytbl SET amtpaid=?, prevbal=?, latechg=?, datepaid=? WHERE unit=?";
prepared_query($conn, $sql, [$amtpaid, $prevbal, $latechg, $datepaid, $unit]);
// $pdo->prepare($sql)->execute([$name, $id]);
?>
-------------------------------------------------------------------------
the resut:
PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES =>
false, ]; try { $pdo = new PDO($dsn, $user, $pass, $options); } catch (\PDOException $e)
{ throw new \PDOException($e->getMessage(), (int)$e->getCode()); } echo "
";echo date('m/d/y');echo "
"; $tenant=$_POST['tenant']; $unit=$_POST['unit']; $amtpaid=$_POST['amtpaid'];
$hudpay=$_POST['hudpay']; $datepaid=$_POST['datepaid']; $amtpaid='amtpaid'; $amtdue='amtdue';
$hudpay='hudpay'; $prevbal='prevbal'; $latechg='latechg'; $datepaid='datepaid';
$stmt = $pdo->query('SELECT tenant, unit, amtpaid, amtdue, hudpay, prevbal, latechg, datepaid FROM
paytbl'); while ($row = $stmt->fetch()) { echo $row['tenant'] . "\n"; }
/* if no pay or part pay, add $35 to latechg field and amount not paid to prevbal field */
if ($amtpaid < $amtdue) { $latechg = $latechg + "35.00"; $prevbal = $amtdue - $amtpaid; }
/* if payment = amtdue */
elseif ($amtpaid == $amtdue) { $prevbal = $prevbal - $prevbal; $latechg = $latechg - $latechg; }
/* *****************************unexpected ';'*******************************
// if over-payment subtract over-payment from prevbal else ($amtpaid > $amtdue )
{ $prevbal = $amtpaid - $amtdue; $latechg = $latechg - $latechg; }
****************************************************************************** */
/* Perform a query, check for error */
$sql = "UPDATE paytbl SET amtpaid=?, prevbal=?, latechg=?, datepaid=? WHERE unit=?";
prepared_query($conn, $sql, [$amtpaid, $prevbal, $latechg, $datepaid, $unit]);
// $pdo->prepare($sql)->execute([$name, $id]); ?>