gpt4 book ai didi

mysql - 带有连接的 Joomla Jdatabase 查询代码不起作用

转载 作者:行者123 更新时间:2023-11-29 03:34:44 24 4
gpt4 key购买 nike

我在 Fabrik 表单元素的“Eval”部分运行下面的 php 代码。该代码应该在表单字段中返回/输入一个数字,但表单字段中什么也没有出现。

当我使用另一个查询(引用“$query->”行)时,代码确实有效,所以我觉得查询包含错误;但是,当执行带有表单字段的相关网页时,没有出现sql错误。

我不知道查询有什么问题(?)

代码:

$form_productname = 'testproduct';
$form_username = 'myname';

$db = JFactory::getDbo();

// Create a new query object.
$query = $db->getQuery(true);

//$query->select($db->quoteName(array('a.id', 'b.productid')));
$query->select($db->quoteName('b.productid'));
$query->from($db->quoteName('#__products', 'b'));
$query->join('INNER', $db->quoteName('#__extendedreg_users', 'a') . ' ON (' . $db->quoteName('a.user_id') . ' = ' . $db->quoteName('b.owner') . ')
AND (' . $db->quoteName('a.cf_collectivename') . ' = ' . $db->quote($form_username) . ')
AND (' . $db->quoteName('b.productname') . ' = ' . $db->quote($form_productname)).')'.;
//echo $query;exit;
$db->setQuery($query);
$db->execute();

$results = $db->loadObjectList();
return count($results);

更新:原因是 where 语句中的语法 php 错误:

. $db->quote($form_productname)).

必须是:

. $db->quote($form_productname).

最佳答案

您没有收到任何错误,因为您没有捕获任何错误。看看How to do SQL exception / error handling .

至少执行一次 $query->dump() 并在控制台中运行您的查询(如果您无法找出问题所在)。

我不明白您为什么要引用比较 $form_username$form_productname 的值。但也许时间晚了,我累了。

关于mysql - 带有连接的 Joomla Jdatabase 查询代码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24145776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com