vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   New Hacker Help? (https://vborg.vbsupport.ru/showthread.php?t=62507)

Bill Thebert 03-14-2004 10:46 PM

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

Link14716 03-15-2004 12:56 AM

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.

Bill Thebert 03-15-2004 01:30 AM

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.

Link14716 03-15-2004 02:55 AM

It's probably since the field that the userid is being inserted into is an INT (SMALLINT, INT, BIGINT, etc.). ;)

Bill Thebert 03-15-2004 04:30 AM

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


All times are GMT. The time now is 03:50 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01075 seconds
  • Memory Usage 1,752KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (5)bbcode_code_printable
  • (2)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete