下面的 Joomla (3.3) Jdatabase 代码(由 Fabrik 使用)应该在数据库中查找名称。该名称以表单 (var $data) 的形式提交,并且值为“green”。
但是,在执行代码时,我收到错误消息:
1054 - Unknown column 'green' in 'where clause' SQL=SELECT `user_id` FROM `weq_extendedreg_users` WHERE `cf_collectivename` = `green`
Joomla PHP 代码:
$db = JFactory::getDbo();
// Create a new query object.
$query = $db->getQuery(true);
$query->select($db->quoteName('user_id'));
$query->from($db->quoteName('#__extendedreg_users'));
$query->where($db->quoteName('cf_collectivename') . ' = '. $db->quoteName($data)); //use $data for this form element
$db->setQuery($query);
$db->execute();
$collective_id = $db->loadResult(); //query returns null if fails
//var_dump($data,$collective_id);exit;
return isset($collective_id);
我不明白 where 语句有什么问题,为什么“代码认为”表单变量是表列? (我检查了 http://docs.joomla.org/Selecting_data_using_JDatabase )
有什么想法吗?
最佳答案
试试这个
$db->quote($data) instead of $db->quoteName($data)
关于mysql - Joomla Jdatabase select 语句不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24140712/