您能解释一下为什么我的代码不起作用吗?我已经考虑了一段时间,但找不到。显然我想从F1列等于用户名的行中打印一些列。
$db = JFactory::getDBO();
$user = JFactory::getUser();
$query = "SELECT * FROM qwozh_visforms_1 WHERE F1 = ".$user->username;
$db->setQuery($query);
$result = $db->query();
while($row = mysqli_fetch_object($result))
{
print $row->F1;
}
当我从选择命令中删除条件并且无法弄清楚如何使其起作用时,它可以工作
$query = "SELECT * FROM qwozh_visforms_1";
现在我得到这个错误:
SQL SELECT * FROM QWOZH_VISFORMS_1 W1 F1 = ADMIN返回上一个页面时,未知列'ADMIN'在'WHERE CLAUSE'中
谢谢
快速阅读Joomla文档将需要所有这些。以下与您的查询相同,但充分利用了Joomla的最新数据库类:
$db = JFactory::getDbo();
$user = JFactory::getUser();
$query = $db->getQuery(true);
$query->select(array('*'))
->from($db->quoteName('#__visforms_1'))
->where($db->quoteName('F1') . ' = '. $db->quote($user->username));
$db->setQuery($query);
$results = $db->loadObjectList();
// Display the results
foreach($results as $result){
// echo what you want here
}
注意,假设您的表属于Joomla扩展,我使用的是前缀#__
而不是手动定义qwozh
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句