Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用joomla检查MYSQLDatabase中是否存在记录_Php_Mysql_Joomla - Fatal编程技术网

Php 使用joomla检查MYSQLDatabase中是否存在记录

Php 使用joomla检查MYSQLDatabase中是否存在记录,php,mysql,joomla,Php,Mysql,Joomla,我正在使用Joomla表单扩展从用户那里收集数据。它应该收集名为transaction id和amount的字段。现在,我一直在尝试对表单进行编程,以检查数据库中是否已经存在该记录,但我的页面中不断出现空白错误。这是我的密码: <?php $db = JFactory::getDbo(); $app = JFactory::getApplication(); $transaction = $app->input->get("transaction"); $query = $db

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

<?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);
}
?>

  • 空白页=错误报告设置为OFF的PHP错误。启用PHP错误报告并设置为最大值以查看错误
  • 设置查询后,但在将其传递给数据库对象之前,将查询转储到屏幕。将该SQL代码提供给phpMyAdmin以分析您的查询。 使用:
  • echo$query->dump();
    die('在phpMyAdmin中复制上述SQL并运行');
    
  • 您会注意到查询中有literal$transaction。所以改变

  • 这应该是什么
    $db->quote(“$transaction”)
    添加了标点符号并使字段命名更清晰。稍微整理一下代码布局。
    $db->quote('$transaction')
    
    $db->quote($transaction)