View Single Post
  #7  
Old 03-30-2006, 01:57 AM
makaiguy's Avatar
makaiguy makaiguy is offline
 
Join Date: May 2004
Location: Aiken, SC, USA
Posts: 150
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks Paul. I've got the userid working now, apparently, via a variable.

But I think I've got problems with correctly passing the membergroups data. Before messing around with all the logic of when I do what, I thought I'd best get the queries down pat. So here's a basic test case I'm working with right now:
PHP Code:
  global $vbulletin;
  
$userid $vbulletin->userinfo['userid']; 
     
  if (
$vbulletin->userinfo['field5'] == $vbphrase['tug_member_password'])
  {
  
// ### PASSWORD IN PROFILE, SET MGROUPS TO 12 ###
     
$updatefields $vbulletin->db->query("
          UPDATE user
          SET membergroupids='12'  
          WHERE userid=
$userid
     "
);
  }
  else    
  
// ### PASSWORD IN PROFILE, SET MGROUPS TO '' ###
  
{
     
$updatefields $vbulletin->db->query("
          UPDATE user
          SET membergroupids=''  
          WHERE userid=
$userid
     "
);
  } 
This seems to work, most of the time, although if I make some changes then change back to the exact same code sometimes it doesn't work. Haven't got that figured out at all ... very frustrating (??) But anyhow, when it works, the password comparison logic works and group 12 gets turned on and off as it should. It also works with SET membergroupids='9,12' as I'd need if he was already in group 9 and we wanted to add 12 to it.

Now, if I do this instead:
PHP Code:
.
.
     
$new_mg '12'
     
$updatefields $vbulletin->db->query("
          UPDATE user
          SET membergroupids=
$new_mg  
          WHERE userid=
$userid
     "
); 
that seems to work too.

But if I have $new_mg = '' or $new_mg = '9,12' I get a database error:
Quote:
Invalid SQL:

UPDATE user
SET membergroupids=
WHERE userid=0;

MySQL Error : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE userid=0' at line 3
Note my userid is lost too. I suspect I've got some sort of basic data type problem I don't understand (strings vs numbers vs arrays?)
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01186 seconds
  • Memory Usage 1,781KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete