使用 joomla 检查 MYSQL 数据库中是否存在记录

Checking if a record exists in a MYSQLDatabase using joomla

我正在使用 Joomla 表单扩展来收集用户的数据。它应该收集名为 transaction idamount 的字段。现在,我一直在尝试对表单进行编程以检查记录是否已存在于数据库中,但我的页面中一直出现空白错误。这是我的代码:

<?php
$db = JFactory::getDbo();
$app = JFactory::getApplication();
$transaction = $app->input->get("transaction");
$query = $db->getQuery(true);
$query->select($db->quoteName('payment_code'))
      ->from($db->quoteName('#__payment_code'))
      ->where($db->quoteName('payment_code') . ' = '. $db->quote('$transaction'));
$db->setQuery($query);
$tg = "zuuu";
$result = $db->loadResult();
  $min_chars =4;
   $max_chars = 15;
$error = "THE transaction ID should not exceed 15 characters.";
$error1="please enter a minimum of 4 characters .";
if (strlen($post["transaction"]) < $max_chars) {
   throw new Exception($result);
}
if (strlen($post["transaction"]) < $min_chars) {
   throw new Exception($error1);
}
if (strlen($post["amount"]) > $max_chars) {
   throw new Exception($error);
}
if (strlen($post["amount"]) < $min_chars) {
   throw new Exception($error1);
}


if ($result !== null){
    throw new 
    Exception($tg);
}
?>
  1. 空白页 = PHP 错误,错误报告设置为关闭。启用 PHP 错误报告并设置为最大值以查看错误
  2. 设置查询后,但在将其传递给数据库对象之前,将查询转储到屏幕上。将该 SQL 代码提供给 phpMyAdmin 以分析您的查询。 使用:
echo $query->dump();
die('Copy the above SQL in phpMyAdmin and run it');
  1. 您会注意到您的查询中包含文字 $transaction。所以改变
$db->quote('$transaction')

$db->quote($transaction)