souperman
04-24-2011, 06:19 AM
I have a few query issues:
The query below returns zero rows, but if I remove the last three lines it works fine. Specifically is the last AND on the query.
SELECT user.userid, user.usergroupid, user.posts, access.forumid, userfield.field5 FROM user
LEFT JOIN userfield
ON userfield.userid = user.userid
LEFT JOIN access
ON access.userid = user.userid
AND access.forumid IS NULL
WHERE (user.usergroupid = 70 OR user.usergroupid = 71 OR user.usergroupid = 87)
AND (user.posts >= 150)
AND (user.joindate <= NOW()-1209600)
AND (user.lastactivity > NOW()-2419200)
ORDER BY user.lastactivity DESC
LIMIT 25
The code is suppose to grant access to specific forum sections based on gender.
Here's the the full code:
<?php
error_reporting(E_ALL & ~E_NOTICE & ~8192);
if (!is_object($vbulletin->db))
{
exit;
}
$auser = $db->query_read("
SELECT user.userid, user.usergroupid, user.posts, access.forumid, userfield.field5 FROM user
LEFT JOIN userfield
ON userfield.userid = user.userid
LEFT JOIN access
ON access.userid = user.userid
AND access.forumid IS NULL
WHERE (user.usergroupid = 70 OR user.usergroupid = 71 OR user.usergroupid = 87)
AND (user.posts >= 150)
AND (user.joindate <= NOW()-1209600)
AND (user.lastactivity > NOW()-2419200)
ORDER BY user.lastactivity DESC
LIMIT 25
");
$raccess = 1;
while ($suser = $db->fetch_array($auser))
{
$rgender == $suser['field5'];
if ($rgender = "Male") {
$rforumid = 159;
$vbulletin->db->query_write("
INSERT INTO access
(userid, forumid,accessmask) VALUES(".$suser['userid'].", ".$rforumid.", ".$raccess.")
");
}
elseif($rgender == "Female") {
$rforumid = 160;
$vbulletin->db->query_write("
INSERT INTO access
(userid, forumid,accessmask) VALUES(".$suser['userid'].", ".$rforumid.", ".$raccess.")
");
}
}
?>
--------------- Added 1303629727 at 1303629727 ---------------
Here's the error I get:
Cannot access empty property in /home/username/public_html/includes/cron/request.php on line 12
Line 12 is this line:
$auser = $db->query_read("
The query below returns zero rows, but if I remove the last three lines it works fine. Specifically is the last AND on the query.
SELECT user.userid, user.usergroupid, user.posts, access.forumid, userfield.field5 FROM user
LEFT JOIN userfield
ON userfield.userid = user.userid
LEFT JOIN access
ON access.userid = user.userid
AND access.forumid IS NULL
WHERE (user.usergroupid = 70 OR user.usergroupid = 71 OR user.usergroupid = 87)
AND (user.posts >= 150)
AND (user.joindate <= NOW()-1209600)
AND (user.lastactivity > NOW()-2419200)
ORDER BY user.lastactivity DESC
LIMIT 25
The code is suppose to grant access to specific forum sections based on gender.
Here's the the full code:
<?php
error_reporting(E_ALL & ~E_NOTICE & ~8192);
if (!is_object($vbulletin->db))
{
exit;
}
$auser = $db->query_read("
SELECT user.userid, user.usergroupid, user.posts, access.forumid, userfield.field5 FROM user
LEFT JOIN userfield
ON userfield.userid = user.userid
LEFT JOIN access
ON access.userid = user.userid
AND access.forumid IS NULL
WHERE (user.usergroupid = 70 OR user.usergroupid = 71 OR user.usergroupid = 87)
AND (user.posts >= 150)
AND (user.joindate <= NOW()-1209600)
AND (user.lastactivity > NOW()-2419200)
ORDER BY user.lastactivity DESC
LIMIT 25
");
$raccess = 1;
while ($suser = $db->fetch_array($auser))
{
$rgender == $suser['field5'];
if ($rgender = "Male") {
$rforumid = 159;
$vbulletin->db->query_write("
INSERT INTO access
(userid, forumid,accessmask) VALUES(".$suser['userid'].", ".$rforumid.", ".$raccess.")
");
}
elseif($rgender == "Female") {
$rforumid = 160;
$vbulletin->db->query_write("
INSERT INTO access
(userid, forumid,accessmask) VALUES(".$suser['userid'].", ".$rforumid.", ".$raccess.")
");
}
}
?>
--------------- Added 1303629727 at 1303629727 ---------------
Here's the error I get:
Cannot access empty property in /home/username/public_html/includes/cron/request.php on line 12
Line 12 is this line:
$auser = $db->query_read("