Solved

Update record in php/mySQL

Posted on 2009-04-14
2
191 Views
Last Modified: 2012-05-06
I'm trying to do a simple edit of rows in a database and am hitting a wall.

I am adding rows with no problem.

Please take a look and see if you can see any problems.  For debug purposes, I have echo'd out the Strain_ID (primary field) ...it echos correctly in the first page but it is empty in the second page.
*********here's the edit page -- Strain_ID is the primary field***********
 
<?php
require "authentication.inc"; 
session_start();
 
// Connect to an authenticated session or relocate to logout.php
sessionAuthenticate();
 
 
$username = $_SESSION["loginUsername"]
?>
 
 
<?php require_once("includes/connection.php"); ?>
<?
	$mouse_id =  $_GET['mouse_id'];
	$record = mysql_query("SELECT * FROM mousetest WHERE ( Strain_ID='$mouse_id' )")
		or die("Could not query database");
		
	$mouse_row = mysql_fetch_array( $record );
 
	
?>
<form action="edit_mouseline2.php" method="POST">
<table width="100%" border="0">
  <tr>
    <td valign="top"><p>Principal Investigator: <input type="text" name ="Principal_Investigator" 
    value="<?php echo $mouse_row['Principal_Investigator']; ?>"  /></p>
    <p>Co Investigator: <input type="text" name ="Co_Investigator" 
    value="<?php echo $mouse_row['Co_Investigator']; ?>"  /></p>
 </tr>
</table>
Strain ID Is <?php echo $mouse_row['Strain_ID']; ?>
 
 
**************here's  the code for:  edit_mouseline2.php ******************
<?php require_once("includes/connection.php"); ?>
<?php  require_once 'includes/functions.php'; ?>
<?php
require "authentication.inc"; 
session_start();
 
// Connect to an authenticated session or relocate to logout.php
sessionAuthenticate();
 
 
$username = $_SESSION["loginUsername"]
?>
 
 
 <?php
			
  
		$Common_Strain =  mysql_prep($_POST['Common_Strain']);
		$Co_Investigator = mysql_prep($_POST['Co_Investigator']);
 
$query = "UPDATE mousetest SET Principal_Investigator='$Principal_Investigator' WHERE Strain_ID='$Strain_ID'";
								
$result = mysql_query($query)
or die ("Couldn't execute query");
	?>

Open in new window

0
Comment
Question by:liz2008
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 11

Accepted Solution

by:
AlexanderR earned 500 total points
ID: 24141123
because you are not passing strain_id between your form and edit_mouseline2.php

create a hidden input your form that stores strain_id:

<input type="hidden" name="strain_id" value="<?php echo $mouse_row['Strain_ID']; ?>" />

grab it in edit_mouseline2.php:
$Strain_ID = mysql_prep($_POST['strain_id']);
0
 

Author Closing Comment

by:liz2008
ID: 31570012
Thank you, that was the missing piece.
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to count occurrences of each item in an array.

732 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question