I am running into a frustrating problem with a PHP script that's supposed to allow me to edit individual rows within my MySQL database.
This is the file where all of the rows from the database are displayed; it works just like it's supposed to.
<table cellpadding="10"> <tr> <td>ID</td> <td>First Name</td> <td>Last Name</td> <td>E-mail</td> <td>Phone</td> </tr> <?php $username="username here"; $password="password here"; $database="database name here"; mysql_connect(localhost,$username,$password); @mysql_select_db($database) or die( "Unable to select database"); $query="SELECT * FROM students"; $result=mysql_query($query); mysql_close(); while ($row=mysql_fetch_array($result)){ echo ("<tr><td>$row[id]</td>"); echo ("<td>$row[first]</td>"); echo ("<td>$row[last]</td>"); echo ("<td>$row[email]</td>"); echo ("<td>$row[phone]</td>"); echo ("<td><a href=\"StudentEdit.php?id=$row[id]\">Edit</a></td></tr>"); } echo "</table>"; ?> As you can see, each row has an "Edit" link that is supposed to allow the user to edit that individual student's data. Here, then, is StudentEdit.php:
<?php $username="username"; $password="password"; $database="database"; mysql_connect(localhost,$username,$password); $student_id = $_GET[id]; $query = "SELECT * FROM students WHERE id = '$student_id'"; $result = mysql_query($query); $row = mysql_fetch_array($result); mysql_close(); ?> <form method="post" action="EditStudentData.php" /> <table> <tr> <td><input type="hidden" name="id" value="<? echo "$row[id]" ?>"></td> </tr> <tr> <td>First Name:</td> <td><input type="text" name="first" value="<? echo "$row[first]" ?>"></td> </tr> <tr> <td>Last Name:</td> <td><input type="text" name="last" value="<? echo "$row[last]" ?>"></td> </tr> <tr> <td>Phone Number:</td> <td><input type="text" name="phone" value="<? echo "$row[phone]" ?>"></td> </tr> <tr> <td>E-mail:</td> <td><input type="text" name="email" value="<?echo "$row[email]" ?>"></td> </tr> </table> </form> When I execute this, however, I get the following error message:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home4/lukaspl1/public_html/StudentEdit.php on line 12
Any ideas what's wrong, and how to fix it?
Thank you in advance!
select dbbefore you executed the query inStudentEdit.php$row['last']