vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   query_first() returns desired result, while query returns nothing? (https://vborg.vbsupport.ru/showthread.php?t=62035)

Harlequin 02-29-2004 04:34 PM

query_first() returns desired result, while query returns nothing?
 
Maybe I'm looking at this incredibly wrong, but let me explain the situation:

There are two queries I'm using to conduct a search to find out whether or not you're a member of x number of communities and to display the queried information about those communities to you.

Each community has it's own auto-incrementing ID (called commcommunityidset
) and the rows of the communityusers table fill with both the userid of the user joined and the commcommunityidset itself.

In another table, the information about the community is stored (name, creator, etc. etc. etc.)

When I use the following query below as query .. it returns nothing. When I use the query below as query_first, it returns a desired value, although naturally it's only the first one.

PHP Code:

$commcheck $DB_site->query("SELECT commuseridset,
                    commcommunityidset
                        FROM communityusers
                            WHERE commuseridset = 
$bbuserinfo[userid]"); 

I've purposely thrown a wrench in the query after the one above (aka a one or a two) just to check whether or not it returns any results.

As I've stated, query_first does wonderful except it's only the first result.

Before the next query, I've a OR commid=$commcheck[commcommunityidset] and then call this in that query in the WHERE.. so it's supposed to loop through everything the user has or so I think anyway. ;)

Am I totally helpless? I've been playing with this for a little while now and it's aggravating to have problems over something I'd thought was so simple. :)

NTLDR 02-29-2004 04:43 PM

query_first does the while $var = $DB_site->fetch_array($var2) part for you so it gives a result, while with just query it doesn't do that, for example the following both do the same, however it makes more sense in this example to use query_first as its less work:

PHP Code:

// query_first
$var $DB_site->query_first("SELECT username FROM user WHERE userid = 2");

// query
$getvar $DB_site->query("SELECT username FROM user WHERE userid = 2");

while(
$var $DB_site->fetch_array($getvar)) {
    
// do anything you want with the data


The end result for both is that $var['username'] will contain the username for userid 2.

Basicly if you want to get multiple rows use query, if you want only a single row use query_first.

Kaelon 04-06-2004 05:54 PM

Quote:

Originally Posted by NTLDR
query_first does the while $var = $DB_site->fetch_array($var2) part for you so it gives a result, while with just query it doesn't do that, for example the following both do the same, however it makes more sense in this example to use query_first as its less work:

PHP Code:

// query_first
$var $DB_site->query_first("SELECT username FROM user WHERE userid = 2");

// query
$getvar $DB_site->query("SELECT username FROM user WHERE userid = 2");

while(
$var $DB_site->fetch_array($getvar)) {
    
// do anything you want with the data


The end result for both is that $var['username'] will contain the username for userid 2.

Basicly if you want to get multiple rows use query, if you want only a single row use query_first.

So, when updating a single user account, you'll want to use query_first ? For example:

PHP Code:

$DB_site->query("UPDATE user SET usergroupid=2, journal=0 WHERE userid=$userid"

... that's too much work, is what you're saying, and instead, I should be using...

PHP Code:

$DB_site->query_first("UPDATE user SET usergroupid=2, journal=0 WHERE userid=$userid"); 

?

NTLDR 04-06-2004 06:01 PM

UPDATE/INSERT queries allways use $DB_site->query, only select queries use $DB_sire->query_first

Kaelon 04-06-2004 06:02 PM

Thanks, NTLDR. :) I just wanted to make sure that my queries were making sense.


All times are GMT. The time now is 05:58 AM.

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.01250 seconds
  • Memory Usage 1,738KB
  • 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_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