Jump to content

Editor script erroring out


jeicrash

Recommended Posts

I am trying to create a simple script to edit mysql rows in php. I copied and pasted the code from spoono tutorial

www.spoono.com/php/tutorials/tutorial.php?id=23

 

Edited all the values to fit my database and its not working. I am very new to this part of php, so far the add and remove functions are working perfectly.

 

Heres my code. without the db connection info.

 


//If cmd has not been initialized
if(!isset($cmd)) 
{
   //display all the tripreport
   $result = mysql_query("select * from tripreport order by id"); 
   
   //run the while loop that grabs all the tripreport scripts
   while($r = mysql_fetch_array($result))
   { 
      //grab the customername and the ID of the tripreport
      $customername=$r["customername"];//take out the customername
      $id=$r["id"];//take out the id
     
 //make the customername a link
      echo "<a href='edit.php?cmd=edit&id=$id'>$customername - Edit</a>";
      echo "<br>";
    }
}
?>
<?
if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit")
{
   if (!isset($_POST["submit"]))
   {

      $id = $_GET["id"];
      $sql = "SELECT * FROM tripreport WHERE id=$id";
      $result = mysql_query($sql);        
      $myrow = mysql_fetch_array($result);
      ?>
  
      <form action="edit.php" method="post">
      <input type=hidden name="id" value="<?php echo $myrow["id"] ?>">
   
      customername:<INPUT TYPE="TEXT" NAME="customername" VALUE="<?php echo $myrow["customername"] ?>" SIZE=30><br>
      
   
      <input type="hidden" name="cmd" value="edit">
   
      <input type="submit" name="submit" value="submit">
   
      </form>
   
<? } ?>
<?
   if ($_POST["$submit"])
   {
      $customername = $_POST["customername"];

  
  $sql = "UPDATE tripreport SET customername='$customername' WHERE id=$id";
      //replace tripreport with your table name above
      $result = mysql_query($sql);
      echo "Thank you! Information updated.";
}
}
?>

 

The customer name is turned into a link, but on the form section i am getting the error

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /sandbox/edit.php on line 37

 

line 37 is

$myrow = mysql_fetch_array($result);

 

Any help is appreciated, i'll try to get back and check as soon as i can.

Link to comment
https://forums.phpfreaks.com/topic/43545-editor-script-erroring-out/
Share on other sites

Ok I did that. Now I am getting

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

 

Heres the top portion of my script, Perhaps I have the wrong "connect" options. The script that adds and deletes records works fine and it has a different connect string.

 

<? 
mysql_connect("MYSQLHOST","username","dbpass"); 
mysql_select_db("databasename"); 
if(!isset($cmd)) 
{
   //display all the tripreport
   $result = mysql_query("select * from tripreport order by id"); 
   
   //run the while loop that grabs all the tripreport scripts
   while($r=mysql_fetch_array($result)) 
   { 
      //grab the customername and the ID of the tripreport
      $customername=$r["customername"];//take out the customername
      $id=$r["id"];//take out the id
     
 //make the customername a link
      echo "<a href='edit.php?cmd=edit&id=$id'>$customername - Edit</a>";
      echo "<br>";
    }
}
?>

Ok, I finally figured it out. Had some typos "CAPS" do matter. lol, i feel so stupid.

 

Thanks for the help it did help me greatly track down my problem once I actually looked at the code line for line.

 

Here is the Finished Edit.php code in case anyone wants it.

 

<HTML>
<BODY>
<STYLE TYPE="text/css">
<?php
    // Connect to the database server
    $dbcnx = @mysql_connect("MYSQLHOST", "username", "dbpass");
    if (!$dbcnx) {
      echo( "<P>Unable to connect to the " .
            "database server at this time.</P>" );
      exit();
    }

    // Select the client database
    if (! @mysql_select_db("databasename") ) {
      echo( "<P>Unable to locate the client " .
            "database at this time.</P>" );
      exit();
    }

//If cmd has not been initialized
if(!isset($cmd)) 
{
   //display all the tripreport
   $result = mysql_query("select * from tripreport order by ID"); 
   
   //run the while loop that grabs all the tripreport scripts
   while($r = mysql_fetch_array($result)) { 
      $ID=$r["ID"];
      $customername=$r["customername"];

 //make the customername a link
         echo "<A HREF='$PHP_SELF?cmd=edit&ID=$r[iD]'>$customername - Edit </a>";
         echo "<br>";
    }
} ?>
<?php
if($_GET["cmd"]=="edit" || $_POST["cmd"]=="edit")
{
   if (!isset($_POST["submit"]))
   {

      $ID = $_GET["ID"];
      $sql = "SELECT * FROM tripreport WHERE ID=$ID";
          $result = mysql_query($sql) or die(mysql_error());        
      $myrow = mysql_fetch_array($result);
      ?>
  
      <form action="edit.php" method="post">
      <input type=hidden name="ID" value="<?php echo $myrow["ID"] ?>">
   
      customername:<INPUT TYPE="TEXT" NAME="customername" VALUE="<?php echo $myrow["customername"] ?>" SIZE=30><br>
      
   
      <input type="hidden" name="cmd" value="edit">
   
      <input type="submit" name="submit" value="submit">
   
      </form>
   
  
<?php } ?>
<?php
   if ($_POST["$submit"])
   {
      $customername = $_POST["customername"];

  
  $sql = "UPDATE tripreport SET customername='$customername' WHERE ID=$ID";
      //replace tripreport with your table name above
      $result = mysql_query($sql);
      echo "Thank you! Information updated.";
}
}
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.