2011-12-28 2 views
0

다음 PHP/MySQL 쿼리를 수행하려고하는데 처음 두 그룹에서는 정상적으로 작동하지만 다른 모든 사용자는 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

+0

어떤 오류가 발생합니까? –

+0

위에 추가했습니다. –

+0

오류가 참조하고있는 mysql_fetch_object에 대한 호출은 어디에 있습니까? 위의 코드 스 니펫에서 mysql_fetch_object에 대한 호출이 표시되지 않습니다. '$ result'에서이 블록 뒤에 오는가? 이 경우'$ result'가 설정되지 않은 것으로 보입니다. – Batkins

답변

0
$result = mysql_query("SELECT * FROM hqfjt_chronoforms_data_addupdatelead WHERE createdby=$N"); 

비린내입니다,해야

$result = mysql_query("SELECT * FROM hqfjt_chronoforms_data_addupdatelead WHERE createdby='$N'"); 

$ N에는 악의가 없습니다.

+0

감사합니다. 현재 작동하고 있으며 해당 사용자가 작성한 결과 만 표시합니다. 감사합니다 .-), 나는 잠시 후에 대답을 받아 들일 것입니다. –

0

이 작업이 stackoverflow에 대한 복사/붙여 넣기 작업이 좋지 않은 것인지 확실하지는 않지만 중괄호가 모두 정렬되지 않은 것 같습니다.

$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"); 
} 

foreach 루프가 실제로 아래 코드를 실행하도록합니다.

foreach($groups as $groupName=>$groupId) {} 

을 그리고 당신은 foreach 문에서 변수 중 하나를 사용하려고 진행의 외부 루프 : 당신이 당신의 질문에 붙여 넣은 코드가 다음과 같이 기록되어 있기 때문에 루프에서 아무것도 실행되지 않습니다 각 for 루프가있다 루프 :

$G=$groupName; 
if ($G=="Management Staff") 
... 

$groupName 변수에만 foreach 루프의 범위 내에서 설정되기 때문에 작동하지 않습니다.

관련 문제