【发布时间】:2011-12-28 23:21:18
【问题描述】:
我正在尝试执行以下 PHP / MySQL 查询,它对前两组工作正常,但对于其他所有人,我得到一个 MySQL 错误,这写正确吗?
$user =& JFactory::getUser();
$N = $user->get('name');
$username = $user->get('username');
$groups = $user->get('groups');
foreach($groups as $groupName=>$groupId)
{
}
$G=$groupName;
if ($G=="Management Staff")
$result = mysql_query("SELECT * FROM hqfjt_chronoforms_data_addupdatelead");
elseif ($G=="Website Developers")
$result = mysql_query("SELECT * FROM hqfjt_chronoforms_data_addupdatelead");
else
$result = mysql_query("SELECT * FROM hqfjt_chronoforms_data_addupdatelead WHERE createdby=$N");
当我以其他人身份登录时:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\server2go\server2go\htdocs\chandlers\components\com_jumi\views\application\view.html.php(38) : eval()'d code on line 87
Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in C:\server2go\server2go\htdocs\chandlers\components\com_jumi\views\application\view.html.php(38) : eval()'d code on line 132
【问题讨论】:
-
错误引用的
mysql_fetch_object调用在哪里?我在上面的代码 sn-p 中没有看到对mysql_fetch_object的调用。它是在$result的这个块之后出现的吗?如果是这样的话,$result似乎没有被设置。 -
在 SQL 查询中直接使用 PHP 变量绝对不是一个好习惯,它会让您面临 SQL 注入的可能性。此外,mysql_* 函数已经失宠,mysqli 或 PDO 是目前与数据库交互的首选方法
-
嗨,我只是一个初学者,所以不确定其他方式,除了在 sql 中手动声明他们的用户名之外,我怎么能声明只加载来自特定用户的记录?。
标签: php mysql select where-clause