Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 03-14-2004, 10:46 PM
Bill Thebert Bill Thebert is offline
 
Join Date: Mar 2002
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default New Hacker Help?

Let me start by saying I'm really new at this, and I'm working on my very first [tiny] hack of my own -- not just applying someone else's hack by means of the cookbook instructions.

I want to write an additional piece of information (from a custom profile field) to the 'thread' table when a new thread is created.

I've created the new column in the 'thread' table; it's present and has the same properties as the source field (field9) in the 'userfield' table.

I've located the following code in /includes/functions_newpost.php :

PHP Code:
                INSERT INTO " . TABLE_PREFIX . "thread(titlelastpostforumidopenreplycountpostusernamepostuseridlastposterdateline,
                     
iconidvisibleattachsimilar)
                
VALUES
                    
('" . addslashes($post['title']) . "'" . TIMENOW . "" . intval($foruminfo['forumid']) . ",
                     
10'" . addslashes($post['postusername']) . "'$bbuserinfo[userid],
                     
'" . addslashes($post['postusername']) . "'" . TIMENOW . "$post[iconid], $post[visible],
                     
$totalattachments'" . addslashes($similarthreads) . "'
and I've changed it to:

PHP Code:
                INSERT INTO " . TABLE_PREFIX . "thread(titlelastpostforumidopenreplycountpostusernamepostuseridlastposterdateline,
                     
iconidvisibleattachsimilarfield9)
                
VALUES
                    
('" . addslashes($post['title']) . "'" . TIMENOW . "" . intval($foruminfo['forumid']) . ",
                     
10'" . addslashes($post['postusername']) . "'$bbuserinfo[userid],
                     
'" . addslashes($post['postusername']) . "'" . TIMENOW . "$post[iconid], $post[visible],
                     
$totalattachments'" . addslashes($similarthreads) . "'$bbuserinfo[field9]) 
All I've done is added the new field name to be filled in, and the new source field from which the data is to be grabbed.

When I execute the code by submitting a new post (creating a new thread), this is the SQL error message I see:

Code:
Invalid SQL: 
				INSERT INTO thread(title, lastpost, forumid, open, replycount, postusername, postuserid, lastposter, dateline,
					 iconid, visible, attach, similar, field9)
				VALUES
					('Test', 1079310282, 2,
					 1, 0, 'Bill Thebert', 1,
					 'Bill Thebert', 1079310282, 0, 1,
					 0, '', AK)
			
mysql error: Unknown column 'AK' in 'field list'

mysql error number: 2000

Date: Sunday 14th of March 2004 06:24:42 PM
Username: Bill Thebert
Can someone please spare a moment to explain to me what this error message is trying to tell me?

The data in 'field9' of my user profile *is* the two-character string "AK"; so it appears that the $bbuserinfo[field9] variable is correct, and the data is being retrieved properly.

The new column in the 'thread' table *is* entitled 'field9'.

I just can't figure out what Unknown column 'AK' in 'field list' is trying to tell me.

Thanks,

Bill
Reply With Quote
  #2  
Old 03-15-2004, 12:56 AM
Link14716's Avatar
Link14716 Link14716 is offline
 
Join Date: Jun 2002
Location: Georgia, USA
Posts: 2,519
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Change
Code:
$bbuserinfo[field9]
to
Code:
'$bbuserinfo[field9]'
The value needs to be surrounded by quotes or else it will think you are telling it to put the contents of the AK column of the thread table into the field9 column of the thread table, and since there is no AK column in the thread table it fails.
Reply With Quote
  #3  
Old 03-15-2004, 01:30 AM
Bill Thebert Bill Thebert is offline
 
Join Date: Mar 2002
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Link14716
Change
Code:
$bbuserinfo[field9]
to
Code:
'$bbuserinfo[field9]'
The value needs to be surrounded by quotes or else it will think you are telling it to put the contents of the AK column of the thread table into the field9 column of the thread table, and since there is no AK column in the thread table it fails.
Thank you. That sure did the trick -- though I'm not sure I understand it fully.

$bbuserinfo[userid] is NOT in single quotes, and appears in the very same statement. Can you help me to understand the difference?

$bbuserinfo[userid] needs to be plucked from the 'users' table and written to the userid column of the threads table, right? Just like 'field9'?

Why the quotes in one case, but not in the other?

Bill

P.S. -- Thanks for being gentle.
Reply With Quote
  #4  
Old 03-15-2004, 02:55 AM
Link14716's Avatar
Link14716 Link14716 is offline
 
Join Date: Jun 2002
Location: Georgia, USA
Posts: 2,519
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It's probably since the field that the userid is being inserted into is an INT (SMALLINT, INT, BIGINT, etc.).
Reply With Quote
  #5  
Old 03-15-2004, 04:30 AM
Bill Thebert Bill Thebert is offline
 
Join Date: Mar 2002
Posts: 38
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, I'm still plugging along here.

This must be really kindergarten stuff for most of y'all.

Now that I've got the new column in the 'thread' table,

and now that newthread.php is poking the right value into place whenever a new thread is created,

I'd like to start pulling that data back out & start using $thread[field9] as a variable in my threadbit template.

I've put that into the template in the proper place, but it's still coming up blank.

That's probably because forumdisplay.php (or some function called by forumdisplay.php) is not READING this value from the 'thread' table -- along with all of the rest of the factoids about each thread, right?

Where should I be looking to get this column READ from the database table along with all of the other stuff about each thread? I should be looking for some sort of SELECT statement -- followed by all the other particulars about each thread?

Bill
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:48 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03821 seconds
  • Memory Usage 2,224KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (5)bbcode_code
  • (2)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete