Hi everyone.

I did the drupal installation for a site (www.activel.com.br) in portuguese, e everything seems to work fine. After 2 months, I enter the site and notice that message:

* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/activel/public_html/modules/user/user.module on line 378.
* warning: array_fill() [function.array-fill]: Number of elements must be positive in /home/activel/public_html/modules/user/user.module on line 379.
* warning: implode() [function.implode]: Invalid arguments passed in /home/activel/public_html/modules/user/user.module on line 379.
* user warning: 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 ')' at line 1 query: SELECT DISTINCT(p.perm) FROM role r INNER JOIN permission p ON p.rid = r.rid WHERE r.rid IN () in /home/activel/public_html/includes/database.mysqli.inc on line 151.
* warning: array_keys() [function.array-keys]: The first argument should be an array in /home/activel/public_html/modules/block/block.module on line 646.
* warning: array_fill() [function.array-fill]: Number of elements must be positive in /home/activel/public_html/modules/block/block.module on line 647.
* warning: implode() [function.implode]: Invalid arguments passed in /home/activel/public_html/modules/block/block.module on line 647.
* warning: array_merge() [function.array-merge]: Argument #2 is not an array in /home/activel/public_html/modules/block/block.module on line 648.
* user warning: 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 ') OR r.rid IS NULL) ORDER BY b.region, b.weight, b.module' at line 1 query: SELECT DISTINCT b.* FROM blocks b LEFT JOIN blocks_roles r ON b.module = r.module AND b.delta = r.delta WHERE b.theme = '' AND b.status = 1 AND (r.rid IN () OR r.rid IS NULL) ORDER BY b.region, b.weight, b.module in /home/activel/public_html/includes/database.mysqli.inc on line 151.

I didn´t change anything and I install everything localy and works fine too. But not in the server... I see many posts like this, but nothing fixed this error. What can I do? I clean the "cache" table and nothing change...

Thanks a lot
Leo

Comments

vm’s picture

if it works on a local install and not on the server, you must begin investigating what is different between both machines.

_____________________________________________________________________
My posts & comments are usually dripping with sarcasm.
If you ask nicely I'll give you a towel : )

zanforlin’s picture

YEs... i´m trying to discover what is different.

HotDrupal.com’s picture

Sounds like something changed on your server. Wonder if maybe a file got corrupted. Did you ask your provider if they have changed anything? A recent "upgrade" to the server?

When you installed locally, did you use the database from your server?

Steve
HotDrupal.com

rodrigo21’s picture

Did you add a new block? or any alement that has php code in ti?

Sustainable Transport in Drupal.
www.ridebubble.org
www.nosfuimos.cl

zanforlin’s picture

I added a new block but it was a month ago... the site is very normal until 2 days ago, when this error appears.

zanforlin’s picture

They told me that they haven´t change anything. But I don´t believe, because they don´t know much about servers... I think it is a bad host service.

zanforlin’s picture

Any idea?

-Anti-’s picture

> Any idea?

I'm a noob, but...

Since it is user.module giving the initial error, and the site was working but suddenly
broke for 'no reason', then personally I would start by checking the database entries
for the last users who signed up. Maybe some information was entered which got past
the Drupal form field parser, and corrupted the database. Perhaps a bad-bot or a hack
attempt?

Also, when was the last back-up you did? Usually if something goes wrong with the
database I dump it to a file, and use a 'diff' program to compare it with the last
back-up (which is usually a week old). The 'diff' program lets me examine only
the areas of the database which have been changed during that week.

I'd probably also replace the 'user.module' file with a fresh version, just in case it got
corrupted somehow. In fact, I'd probably download the entire site and use the 'diff'
program to compare them all against the original core files.

I assume you can't access the admin section of the site? If you can, I'd start trying to
disable blocks and modules one at a time.

Sorry... those are all my ideas!

zanforlin’s picture

Hi! The guy from the server place told me that he "Change session.save_handler from files to user".

Now the site don´t show that error message. But every link in this site don´t make any difference. Example: If I click on "contact", the site goes to the first page. If I try to enter www.activel.com.br/pagethatdoesntexist.php, the site goes to the first page. /admin and /user, first page too.

What can it be?

Thanks a lot :)

Road Runner’s picture

I have been looking for this and thought it might exist in phpmyadmin but haven't found anything. Can yo provide link?

-Anti-’s picture

> Which program do you use to compare database tables

There is software, like MySqlYog, which will compare and
syncronise two databases, but that is not what I referred to.

Once a database is backed-up (saved), it is just a text file.
If you have two (or more) back-ups, they can be compared.

Using a 'diff' program, only the changes between them will be
displayed making it much easier to compare them.

Search google for 'diff program' or 'diff software'.
The best free one is 'WinMerge' I think.

I actually bought Araxis Merge because I often need to compare
three folders/files at once, whereas most others only
compare two. They are extremely handy tools sometimes.