Re: [PHP-DB] Empty query result

2004-07-26 Thread Philip Thompson
Thanks all! I will try some of the suggestions that you guys gave. I 
appreciate it.

~Philip
On Jul 26, 2004, at 12:52 PM, Pablo M. Rivas wrote:
Hello Philip,
  read:
  http://www.php.net/manual/en/function.mysql-result.php
  when you do $queryResult = mysql_result($queryResult,0) you get
  the error... so, you can do something like this:
 function getMysqlSelectResultForUsername($identifier, $userName, 
$link)
 {
  $queryResult = mysql_query("select $identifier from theTable 
where
 username = '$userName'", $link);
  if ($queryResult) {
 $queryResult = mysql_result($queryResult, 0);
  }
  return $queryResult;
 }

 $hall = getMysqlSelectResultForUserName('buildingID', 
$_userName,$link);
 if (!$hall) die ("error")
 

or you can do:
  function getMySqlSelectResultForUserName($identifier,
  $userName,$link) {
   return mysql_query("select $identifier from TheTable where
   username='$userName'",$link);
   }
 $hall= getMysqlSelectResultForUsername('buildingID', $_userName, 
$link);
 if (!$hall) die("not found building!!!");
 $roomNum = getMysqlSelectResultForUsername('roomNum', 
$_userName,$link);
 $phone1 = getMysqlSelectResultForUsername('phone1', $_userName, 
$link);
 $phone2 = getMysqlSelectResultForUsername('phone2', $_userName, 
$link);
 $lastLogin = getMysqlSelectResultForUsername('lastLogin', 
$_userName,$link);

  if ((!$roomNum) or (!$phone1) or (!$phone2) or (!$lastLogin)) {
 echo "data is missing";
  
  } else {
 ...
  }
PT> Pablo,

--
Best regards,
 Pablo
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Re: [PHP-DB] Empty query result

2004-07-26 Thread Jason Wong
On Tuesday 27 July 2004 00:57, Philip Thompson wrote:

> Here's my function:
>
> function getMysqlSelectResultForUsername($identifier, $userName, $link)
> {
>  $queryResult = mysql_query("select $identifier from theTable where
> username = '$userName'", $link);
>
>  if (!($queryResult = mysql_result($queryResult, 0))) {
>  session_register('_selectIdentifierFromTheTable');
>  header("location:error.php");
>  exit;
>  }
>
>  return $queryResult;
> }
>
> Here's the code that calls it:
>
> $hall = getMysqlSelectResultForUsername('buildingID', $_userName,
> $link);
> $roomNum = getMysqlSelectResultForUsername('roomNum', $_userName,
> $link);
> $phone1 = getMysqlSelectResultForUsername('phone1', $_userName, $link);
> $phone2 = getMysqlSelectResultForUsername('phone2', $_userName, $link);
> $lastLogin = getMysqlSelectResultForUsername('lastLogin', $_userName,
> $link);

What you're doing is extremely inefficient. You could do in a single query 
what you're currently doing in 5 queries. Use a query like:

  SELECT col1, col2, col3, coln, FROM table WHERE colx = 'something'

Then use mysql_fetch_row() or siblings to get the column contents.

> If the mysql_result($queryResult, 0) returns zero/nothing, then it goes
> to the 'error.php' page. However, I just want it to move on. For
> example, if there is no 'phone2' given in the database, I want it to
> just assign $phone2 to zero/nothing, not go to the error page.

Well you wrote the code so that it will go to the error page.

-- 
Jason Wong -> Gremlins Associates -> www.gremlins.biz
Open Source Software Systems Integrators
* Web Design & Hosting * Internet & Intranet Applications Development *
--
Search the list archives before you post
http://marc.theaimsgroup.com/?l=php-db
--
/*
If little green men land in your back yard, hide any little green women
you've got in the house.
-- Mike Harding, "The Armchair Anarchist's Almanac"
*/

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DB] Empty query result

2004-07-26 Thread Pablo M. Rivas
Hello Philip,

pse.. can you paste the error information?
There is no known "empty set" problem.

-- 
Best regards,
 Pablo
PT> Hi all.

PT> I am querying a database of single information multiple times using a 
PT> simple 'select' statement. However, whenever the data in the DB is 
PT> empty or is 0 (zero), then it throws an error. However, I don't want it 
PT> to throw an error, I just want it to move on to the next query.

PT> This is being shown on a webpage I have. Note that I am using a 
PT> function for this select statement because I just have to change the 
PT> identifier that I am looking for - saves space. So I don't use 
PT> mysql_error() to show my errors, I redirect to a global 'error' page.

PT> Is there a way to get around this "empty set" problem? Yes, I know 
PT> about using @ to suppress warnings, but it's more than this.

PT> Thanks a bunch,
PT> ~Philip

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DB] Empty query result

2004-07-26 Thread bbonkosk
Why not...??

if (!($queryResult =
mysql_result($queryResult, 0)))
{
return 0;
}
- Original Message -
From: Philip Thompson <[EMAIL PROTECTED]>
Date: Monday, July 26, 2004 12:57 pm
Subject: Re: [PHP-DB] Empty query result

> Pablo,
> 
> > Hello Philip,
> >
> > pse.. can you paste the error information?
> > There is no known "empty set" problem.
> >
> Here's my function:
> 
> function
getMysqlSelectResultForUsername($identifier,
$userName, 
> $link){
> $queryResult = mysql_query("select $identifier
from theTable 
> where 
> username = '$userName'", $link);
> 
> if (!($queryResult =
mysql_result($queryResult, 0))) {
>
session_register('_selectIdentifierFromTheTable');
> header("location:error.php");
> exit;
> }
> 
> return $queryResult;
> }
> 
> Here's the code that calls it:
> 
> $hall =
getMysqlSelectResultForUsername('buildingID',
$_userName, 
> $link);
> $roomNum =
getMysqlSelectResultForUsername('roomNum',
$_userName, 
> $link);
> $phone1 =
getMysqlSelectResultForUsername('phone1',
$_userName, 
> $link);$phone2 =
getMysqlSelectResultForUsername('phone2', 
> $_userName, $link);
> $lastLogin =
getMysqlSelectResultForUsername('lastLogin', 
> $_userName, 
> $link);
> 
> If the mysql_result($queryResult, 0) returns
zero/nothing, then it 
> goes 
> to the 'error.php' page. However, I just want it
to move on. For 
> example, if there is no 'phone2' given in the
database, I want it 
> to 
> just assign $phone2 to zero/nothing, not go to the
error page.
> 
> Hope this helps.
> 
> Thanks,
> ~Philip
> 
> > -- 
> > Best regards,
> >  Pablo
> > PT> Hi all.
> >
> > PT> I am querying a database of single
information multiple times 
> > using a
> > PT> simple 'select' statement. However, whenever
the data in the 
> DB is
> > PT> empty or is 0 (zero), then it throws an
error. However, I 
> don't 
> > want it
> > PT> to throw an error, I just want it to move on
to the next query.
> >
> > PT> This is being shown on a webpage I have.
Note that I am using a
> > PT> function for this select statement because I
just have to 
> change 
> > the
> > PT> identifier that I am looking for - saves
space. So I don't use
> > PT> mysql_error() to show my errors, I redirect
to a global 
> 'error' 
> > page.
> >
> > PT> Is there a way to get around this "empty
set" problem? Yes, I 
> know> PT> about using @ to suppress warnings, but
it's more than this.
> >
> > PT> Thanks a bunch,
> > PT> ~Philip
> >
> > -- 
> > PHP Database Mailing List (http://www.php.net/)
> > To unsubscribe, visit:
http://www.php.net/unsub.php
> >
> 

-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DB] Empty query result

2004-07-26 Thread Philip Thompson
Pablo,
Hello Philip,
pse.. can you paste the error information?
There is no known "empty set" problem.
Here's my function:
function getMysqlSelectResultForUsername($identifier, $userName, $link)
{
$queryResult = mysql_query("select $identifier from theTable where 
username = '$userName'", $link);

if (!($queryResult = mysql_result($queryResult, 0))) {
session_register('_selectIdentifierFromTheTable');
header("location:error.php");
exit;
}
return $queryResult;
}
Here's the code that calls it:
$hall = getMysqlSelectResultForUsername('buildingID', $_userName, 
$link);
$roomNum = getMysqlSelectResultForUsername('roomNum', $_userName, 
$link);
$phone1 = getMysqlSelectResultForUsername('phone1', $_userName, $link);
$phone2 = getMysqlSelectResultForUsername('phone2', $_userName, $link);
$lastLogin = getMysqlSelectResultForUsername('lastLogin', $_userName, 
$link);

If the mysql_result($queryResult, 0) returns zero/nothing, then it goes 
to the 'error.php' page. However, I just want it to move on. For 
example, if there is no 'phone2' given in the database, I want it to 
just assign $phone2 to zero/nothing, not go to the error page.

Hope this helps.
Thanks,
~Philip
--
Best regards,
 Pablo
PT> Hi all.
PT> I am querying a database of single information multiple times 
using a
PT> simple 'select' statement. However, whenever the data in the DB is
PT> empty or is 0 (zero), then it throws an error. However, I don't 
want it
PT> to throw an error, I just want it to move on to the next query.

PT> This is being shown on a webpage I have. Note that I am using a
PT> function for this select statement because I just have to change 
the
PT> identifier that I am looking for - saves space. So I don't use
PT> mysql_error() to show my errors, I redirect to a global 'error' 
page.

PT> Is there a way to get around this "empty set" problem? Yes, I know
PT> about using @ to suppress warnings, but it's more than this.
PT> Thanks a bunch,
PT> ~Philip
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php