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
https://forums.phpfreaks.com/topic/153466-solved-insert-or-update-help/
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);

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);

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.