PDA

View Full Version : MySQL error number: 1052


Pete_C
05-27-2005, 01:13 AM
Hi, just the other day, the forum started giving me this error, whenever I tried to look at a deleted post (I'm an admin). As far as I know, there have been no changes to any templates or anything like that, I'd much appreciate it if someone could help me sort this. Also, it's not just me who is getting this error, it appears to be every mod/admin.

Database error in vBulletin 3.0.7:

Invalid SQL:
SELECT
post.*, post.username AS postusername, post.ipaddress AS ip,
user.*, userfield.*, usertextfield.*,
icon.title as icontitle, icon.iconpath,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
,avatar.avatarpath, NOT ISNULL(customavatar.avatardata) AS hascustomavatar, customavatar.dateline AS avatardateline
,level,
NOT ISNULL(deletionlog.primaryid) AS isdeleted,
post_parsed.pagetext_html, post_parsed.hasimages

FROM post AS post
LEFT JOIN user AS user ON(user.userid = post.userid)
LEFT JOIN userfield AS userfield ON(userfield.userid = user.userid)
LEFT JOIN usertextfield AS usertextfield ON(usertextfield.userid = user.userid)
LEFT JOIN icon AS icon ON(icon.iconid = post.iconid)
LEFT JOIN avatar AS avatar ON(avatar.avatarid = user.avatarid) LEFT JOIN customavatar AS customavatar ON(customavatar.userid = user.userid) LEFT JOIN reputationlevel AS reputationlevel ON(user.reputationlevelid = reputationlevel.reputationlevelid)
LEFT JOIN deletionlog AS deletionlog ON(deletionlog.primaryid = post.postid AND type = 'post')
LEFT JOIN post_parsed AS post_parsed ON(post_parsed.postid = post.postid)
WHERE post.postid = 17781

mysql error: Column: 'type' in on clause is ambiguous

mysql error number: 1052

Date: Thursday 26th of May 2005 06:58:19 PM
Script: http://www.l9ianime.com/forums/showpost.php?p=17781
Referer: http://www.l9ianime.com/forums/showthread.php?t=1473&page=2&pp=10


if possible, can you tell me what I need to change, and in which file.

Regards, Pete C

Paul M
05-27-2005, 01:17 AM
Have you edited showpost.php at all ?

Pete_C
05-27-2005, 02:03 AM
I'll ask the other admins.

::EDIT::

The person who is likely to have, if anyone has, is not online right now, I'll ask him and get back to you ASAP, Thanks.

Pete_C
05-30-2005, 10:19 AM
I've aked the others who have access and none of them have edited any files at all, only a few template changes, which are superficial.

Paul M
05-30-2005, 10:23 AM
Have you edited any of the vB tables (i.e added new fields as part of a hack).

shak_attack
05-30-2005, 02:07 PM
Hi, im a fellow admin.

I created a custom login/registration script based off vbulletin, the login just reads data from the sql database, and for the registration I mimicked the forum's register.php file, basically it adds a new row ONLY in the `user` table. Im guessing the problem might be users who have used this custom registration form and have their data only in a `user` row when I needed to add data in some other tables in the database?

I'm not sure, where is data added when a new user signs up using vbulletin (besides `user`)

Andreas
05-30-2005, 02:13 PM
Can you post the structures of the following tables:


post
post_parsed
user
userfield
usertextfield
icon
avatar


One or more of these tables seem to have a column named type, which they don't have by default.

Marco van Herwaarden
05-30-2005, 02:51 PM
My guess is that you added a new column 'type' to the user table.

This is the reason the above query is failing. To fix it change it to the fully qualified name. Ie:
....... ON(deletionlog.primaryid = post.postid AND deletionlog.type = 'post')

PS You can not add a new user by only adding him to the user-table. Registering a new user involves more tables then only the user table.

shak_attack
05-30-2005, 06:59 PM
Ahh, yes, I added a column name "type" in the `user` table. So I have to rename this to something else?

Also, the registration script that I made involves only adding data to the `user` table and it looks it worked because new members are able to register with that form and start posting on the forum. What other tables do I have to modify?

Andreas
05-30-2005, 07:31 PM
You can either rename the field or modify the query, but i'd suggest to rename to field to avoid further problems.
Tables userfield and usertextfield should at least be filled too.

shak_attack
05-30-2005, 07:52 PM
Hmm, I noticed that the userids in `userfield` and `usertextfield` match with those in `user`. However, all those members that registered using my registration form do not have a row in those two tables... what should I do about that?

Also, im guessing that I just have to increment each of those tables by a row so that a new row with the userid of the user registering is made?

Andreas
05-30-2005, 07:54 PM
what should I do about that?
Create the missing rows :)


Also, im guessing that I just have to increment each of those tables by a row so that a new row with the userid of the user registering is made?
When you insert a new user into table user you will gat an insert id (=userid).
Use this to fill the other tables.

shak_attack
05-30-2005, 08:07 PM
crap, they're a whole load of ones i'd have to add then... knowing that `userfield` and `usertextfield` are empty, what problems would users be facing? what happens if they try to modify the stuff thats there through the forum?

the userid number is auto_increment, so just creating a new row will create the new id for all the other tables too right (this is on registering a new user).

Andreas
05-30-2005, 08:17 PM
what problems would users be facing?
They can't modify their signature, buddy-/ignorelist, pm-folders, subscription folders, search preferences and custom profile fields like Location, Interests, Occupation and Biography.


the userid number is auto_increment, so just creating a new row will create the new id for all the other tables too right (this is on registering a new user).
Yes. Wherever there is a userid, it is the ID for this user (in table user).

You can fix these problems through ACP / Import & Maintenance / Update Counters by clicking Fix Broken User Profiles.

Marco van Herwaarden
05-31-2005, 12:13 PM
This could more problems if also new members have been added using standard vB functions.

shak_attack
05-31-2005, 01:15 PM
I'm fixing the broken user profiles, and then modifying the registration script to add a new userid in the `userfield` and `usertextfield` tables. That should solve the problems.