Jump to content

PHP update error


PHPnewby!

Recommended Posts

Hi guys, I'm trying to update details in my "Members" table, but am getting the following error message:

 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /export2/webroot/users/c3031698/modifyuser.php on line 9

 

Code is as follows. Any help would be greatly appreciated! Thank you! :)

<?php
session_start();
$User = $_SESSION['MM_Username'];
if (!$User) {
header("Location: memberfeatures.php");
}
require_once('Connections/TCO.php');
$get_memberdetails_sql = "SELECT* FROM Members WHERE Username = '{$User}'";
$get_memberdetails_res = mysql_fetch_array(mysql_query($get_memberdetails_sql));
$Firstname = $get_memberdetails_res['Firstname'];
$Lastname = $get_memberdetails_res['Lastname'];
$Emailaddress= $get_memberdetails_res['Emailaddress'];
$Password = $get_memberdetails_res['Password'];
$Moto = $get_memberdetails_res['Moto'];
$DOB = $get_memberdetails_res['DOB'];
$Gender = $get_memberdetails_res['Gender'];
$Interests = $get_memberdetails_res['Interests'];
$DestinationsVisited = $get_memberdetails_res['DestinationsVisited'];
$TravelAspirations = $get_memberdetails_res['TravelAspirations'];
$Message = $get_memberdetails_res['Message'];
?>

<form action="do_modifyuser.php" method="POST" name="UpdateForm" id="UpdateForm" onsubmit="MM_validateForm('Firstname','','R','Lastname','','R','Emailaddress','','RisEmail','Password','','R');return document.MM_returnValue">
                      <table width="85%" border="0">
                        <tr>
                          <th scope="row"><div align="left">User Name</div></th>
                          <td><?php echo $User; ?></td>
                        </tr>
                        <tr>
                          <th scope="row"><div align="left">First Name*</div></th>
                          <td><input name="Firstname" type="text" id="Firstname" value = "<?php echo $Firstname; ?>"/></td>

etc etc.

 

do_modifyuser.php:

<?php
session_start();
$User = $_SESSION['MM_Username'];
require_once('Connections/TCO.php');

$Firstname = $_POST["Firstname"];
$Lastname = $_POST["Lastname"];
$Emailaddress = $_POST["Emailaddress"];
$Password = $_POST["Password"];
$Moto = $_POST["Moto"];
$DOB = $_POST["DOB"];
$Gender = $_POST["Gender"];
$Interests = $_POST["Interests"];
$DestinationsVisited = $_POST["DestinationsVisited"];
$TravelAspirations = $_POST["TravelAspirations"];
$Message = $_POST["Message"];


$sql = mysql_query("UPDATE Members SET Firstname = '$Firstname', Lastname = '$Lastname', Emailaddress = '$Emailaddress', Password = '$Password', Moto = '$Moto', DOB = $DOB, Gender = $Gender, Interests = $Interests, DestinationsVisited = $DestinationsVisited, TravelAspirations = $TravelAspirations, Message = $Message WHERE Username = '$User'");
header("Location: modified.php");
?>

Link to comment
https://forums.phpfreaks.com/topic/38011-php-update-error/
Share on other sites

Firstly... this error generally means your query is failing. This line...

 

$get_memberdetails_res = mysql_fetch_array(mysql_query($get_memberdetails_sql));

 

is considered very bad coding practice as it makes your code very difficult to debug. Also... you never check your query succeeded before trying to use it. A very big no no. That whole section should be replaced by....

 

$get_memberdetails_sql = "SELECT * FROM Members WHERE Username = '{$User}'";
if ($result = mysql_query($get_memberdetails_sql)) {
  if (mysql_num_rows($result)) {
    $get_memberdetails_res = mysql_fetch_array(mysql_query($get_memberdetails_sql));
    $Firstname = $get_memberdetails_res['Firstname'];
    $Lastname = $get_memberdetails_res['Lastname'];
    $Emailaddress= $get_memberdetails_res['Emailaddress'];
    $Password = $get_memberdetails_res['Password'];
    $Moto = $get_memberdetails_res['Moto'];
    $DOB = $get_memberdetails_res['DOB'];
    $Gender = $get_memberdetails_res['Gender'];
    $Interests = $get_memberdetails_res['Interests'];
    $DestinationsVisited = $get_memberdetails_res['DestinationsVisited'];
    $TravelAspirations = $get_memberdetails_res['TravelAspirations'];
    $Message = $get_memberdetails_res['Message'];
  }
}

 

Notice Ive put a space before the * in your query.

Link to comment
https://forums.phpfreaks.com/topic/38011-php-update-error/#findComment-181937
Share on other sites

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.