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

问题描述 投票:0回答:1

我正在使用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);
}
?>
php mysql joomla
1个回答
0
投票
  1. 空白页= PHP错误,错误报告设置为OFF。启用PHP错误报告并将其设置为Maximum以查看错误
  2. 设置查询之后,但是在将查询传递给数据库对象之前,请将查询转储到屏幕上。将该SQL代码提供给phpMyAdmin来分析您的查询。使用:
echo $query->dump();
die('Copy the above SQL in phpMyAdmin and run it');
  1. [您会发现查询中有文字$ transaction。所以改变
$db->quote('$transaction')

$db->quote($transaction)
© www.soinside.com 2019 - 2024. All rights reserved.