[RESOLVED] Supplied Argument not Valid Mysql Resource
Hey, guys!
I'm working on a script to grab data from a row in a database based on the id of the row (which automatically increments).
The script will grab a number from the URL (7 in www.site.com/page.php?id=7), and then find the row in a table with an id that matches that number. It will assign variables to data from that row, so the information can be placed in various places in the dynamic page.
However, something does not appear to be working: This script is on page.php. So when I type in the URL: www.site.com/page.php?id=7 , I receive the error output: "Save me!" and the text "Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/dot/public_html/the_editor/page.php on line 19."
Following is the script:
PHP Code:
$id = $_GET['id'];
include("dbconnect.php");
mysql_connect(localhost,$username,$password) or die("Could not connect to MYSQL");
@mysql_select_db($database) or die(mysql_error());
$query="SELECT * FROM [table_name] WHERE id='$id'" or die(mysql_error());
$result=mysql_query($query);
mysql_close();
/*database output assigned variables below*/
$page_title=mysql_result($result,$i,"page_title") or die("Save me!");
$content_title=mysql_result($result,$i,"content_title");
$author=mysql_result($result,$i,"author");
$date_created=mysql_result($result,$i,"date_created");
$date_edited=mysql_result($result,$i,"date_edited");
$content=mysql_result($result,$i,"content");
Any ideas?
$result was false and problem was rooted in wrong tablename
NogDog,
You were right on - twice! After implementing the error checks that you reccommended, I discovered that $result was indeed false. The error message, however, led me to the solution - I had the wrong table name - that you suspected. I had inadvertently put the database name for the table name.
Below is the resolved code. I would note, however, that being new to PHP, I did not know how to implement error checks, and so tried to search the web for a how-to on that. I ended up using NogDog's error code that he supplied someone else on this site!
PHP Code:
<?php
$id = $_GET['id'];
include("dbconnect.php");
mysql_connect(localhost,$username,$password) or die("Could not connect to MYSQL");
@mysql_select_db($database) or die(mysql_error());
$query="SELECT * FROM articles WHERE id='$id'" or die(mysql_error());
$result=mysql_query($query);
/*Checking to see if $result is false*/
if($result == false) {
user_error(mysql_error() . "\n$query"); // or use error_log()
die("Fatal database error"); // or whatever you want to tell user
}
mysql_close();
/*database output assigned variables below*/
$page_title=mysql_result($result,$i,"page_title") or die("Save me!");
$content_title=mysql_result($result,$i,"content_title");
$author=mysql_result($result,$i,"author");
$date_created=mysql_result($result,$i,"date_created");
$date_edited=mysql_result($result,$i,"date_edited");
$content=mysql_result($result,$i,"content");
?>
Thanks, NogDog, for your generous help.
Signing off -