php mysql syntax and function questions (mysql_fetch_row: one record returned)

Posted on 2012-03-29
Last Modified: 2012-03-30
Be gentle with me. I have a total of about 3 days experience trying to very quickly learn just enough php to fulfill a task.

The sample code I see almost always returns a recordset, and the recordset is then dumped into an array, and a "while" loop is used to traverse the recordset.

But, if I deliberately return only one record, I do not need to traverse a recordset - I just want to read returned field data for that one record. So, I found a way to do this, using


(As you see in the code below.)

The questions I have at this point:
1.) to test if the record was returned, should I use "empty":
if (empty($results))
or is there a better way?

2.) I see that I cannot address the $onerow array by field names, so is the only (or the best) way to use
or is there another way to reference the array?

3.) When do I close the connection? (right after the line starting with $results = )?

4.) Once my processing.php file has completed, possibly with a database error, but hopefully with success, how do I gracefully redirect the user to the page I want them to go to? (a custom error page, or a custom success page)

include_once "myconnection.php"

$querystringactivationcode = $_SERVER['QUERY_STRING'];
$query7 = "SELECT userid, activationcode FROM mytable WHERE ((xyzvalid=0) AND (activationcode = '" . $querystringactivationcode . "')) LIMIT 1"; 
$results = mysql_query($query7) or die(mysql_error());
$onerow = mysql_fetch_row($results);

## $onerow[0]; // the 0 element in the array is userid
## $onerow[1]; // the 0 element in the array is the activation code

## $onerow['userid']; // I see that the array cannot be accessed this way - elements of the array are referenced by integers (zero based array)

## so, I can do some processing:

if ($querystringactivationcode == $onerow[1])

Open in new window

Thank you from a php beginner

Question by:dtleahy
  • 2
  • 2
LVL 83

Accepted Solution

Dave Baldwin earned 500 total points
ID: 37784560
You can use mysql_fetch_array() to get the results by field names.

MySQL connections are closed automatically at the end of the script.  You do not normally have to explicitly close them.

You can use the PHP 'header' function to redirect to another page.  Note that you can't output any text or HTML before doing this, not even an extra space before the <?php tag, because that causes the headers to be already sent before it gets to your code.  You can't send any headers after the content has been sent.

Author Closing Comment

ID: 37785093

Quick, accurate, awesome. Thank you very much!

LVL 83

Expert Comment

by:Dave Baldwin
ID: 37785124
You're welcome.!

Author Comment

ID: 37786808
the header redirect is a bit tricky, because I want to use querystring variables. This is complex enough that I created a new question for it: php redirect header conditional querystring


Featured Post

Webinar: Aligning, Automating, Winning

Join Dan Russo, Senior Manager of Operations Intelligence, for an in-depth discussion on how Dealertrack, leading provider of integrated digital solutions for the automotive industry, transformed their DevOps processes to increase collaboration and move with greater velocity.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Introduction This article is intended for those who are new to PHP error handling (  It addresses one of the most common problems that plague beginning PHP develop…
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

735 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question