www.webdeveloper.com
Results 1 to 3 of 3

Thread: [RESOLVED] Supplied Argument not Valid Mysql Resource

  1. #1
    Join Date
    Jul 2010
    Posts
    35

    resolved [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?
    I don't know half of you half as well as I should like; and I like less than half of you half as well as you deserve.
    - Bilbo Baggins in The Fellowship of the Ring

  2. #2
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    19,427
    That message normally indicates that your query could not be processed by MySQL, and therefore $result is FALSE instead of a query result resource ID. You can check after doing the mysql_query() to see if $result is false, and if so use mysql_error() to get some info (e.g. via error_log() or user_error()). If the code is exactly as posted here, then I suspect the immediate problem is "[table_name]" needing to be replaced with a valid table name (and not in brackets).
    "Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
    ~ Terry Pratchett in Nation

    eBookworm.us

  3. #3
    Join Date
    Jul 2010
    Posts
    35

    $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 -
    I don't know half of you half as well as I should like; and I like less than half of you half as well as you deserve.
    - Bilbo Baggins in The Fellowship of the Ring

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles