First, allow me to apologize for my ignorance. Most of what I'm writing is regurgitated from those helping me with my problem, and if something sounds goofy, I just messed up in the transfer of information.
I'm moving about 30 sites from one server to another. During the move, I notice that none of the users can log in anymore to any of the PHP-Nuke sites, e107 sites and a couple other scripts. We re-upload the sites, re-import the db's, try a lot of stuff, but these guys still can't log in. So I started working with the support guys at one of the script developer's site, and this is the problem, as he's diagnosed it:
When you do a $row = $db->sql_fetchrow($result) you are supposed to return an array into $row that can be accessed either thru the field name or the array element number. (I think I'm saying that right). So, since you are only looking at one field, user_password, that should be in $row. That works on all the systems that I know of but it doesn't work on yours. All I can think of is that maybe it's a bug with your version of mysql. I changed the code in is_user() to access the field by the field name and now it seems to work. I even temporarily did a select * instead of just the user_password and none of the array element references by position seem to work.
So, the scripts are keeping people from logging in, and it's also messing up a lot of other stuff in the page generation.
Is there a setting I need to change to fix this? An update to MySQL? I'm at a loss as to what needs to be done, and would appreciate any help and suggestions you can provide.