Jump to content

[SOLVED] Insert or UPDATE help


herghost

Recommended Posts

Hi all,

 

I have this code which inserts information into a database:

 

<?php
//Start session
session_start();

//Include database connection details
require_once('include/database.php');

//Array to store validation errors
$errmsg_arr = array();

//Validation error flag
$errflag = false;


//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
	$str = @trim($str);
	if(get_magic_quotes_gpc()) {
		$str = stripslashes($str);
	}
	return mysql_real_escape_string($str);
}

//Sanitize the POST values
$userid = $_SESSION['SESS_USERID'];
$bandname = $_SESSION['SESS_BANDNAME'];

$genre = clean($_POST['genre']);
$formed = clean($_POST['formed']);


//Input Validations


if($formed == '') {
	$errmsg_arr[] = 'Year Formed is Missing';
	$errflag = true;
}



//Create INSERT query
$qry = "INSERT INTO banddata(userid, bandname, genre, formed) VALUES('$userid','$bandname','$genre', '$formed' )";
$result = @mysql_query($qry);

//Check whether the query was successful or not
if($result) {
	header("location: member_home.php");
	exit();
}else {
	die(mysql_error());

}
?>

 

 

Which works great, however if information is already stored in the database then I just get an error, how would I change this to update if information exists?

 

I guess I would have to select the row first, then check for date, insert if empty or update if data is present, just not quite sure how I would go about this!

 

Thanks

Link to comment
Share on other sites

change

   //Create INSERT query
   $qry = "INSERT INTO banddata(userid, bandname, genre, formed) VALUES('$userid','$bandname','$genre', '$formed' )";
   $result = @mysql_query($qry);

to

$sql = mysql_query("SELECT * FROM bandata WHERE user_id = '$userid'");
if(mysql_num_rows($sql) == 0)
{
   //Create INSERT query
   $qry = "INSERT INTO banddata(userid, bandname, genre, formed) VALUES('$userid','$bandname','$genre', '$formed' )";
}
else
{
   //Create update query
   $qry = "UPDATE bandata SET bandname = '$bandname', genre = '$genre', formed = '$formed' WHERE userid = '$userid'";
}
   $result = @mysql_query($qry);

Link to comment
Share on other sites

Thanks everyone!

 

This did it:

 

$sql = mysql_query("SELECT * FROM banddata WHERE userid = '$userid'");
if(mysql_num_rows($sql) == 0)
{
   //Create INSERT query
   $qry = "INSERT INTO banddata(userid, bandname, genre, formed) VALUES('$userid','$bandname','$genre', '$formed' )";
}
else
{
   //Create update query
   $qry = "UPDATE banddata SET bandname = '$bandname', genre = '$genre', formed = '$formed' WHERE userid = '$userid'";
}
   $result = @mysql_query($qry);

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.