I am trying to replace mysql fields with this code... But unfortunatly it is not working... I do not know why... Here is the code please help me. Thank you.

<?php
session_start();
	if ($_POST['txtName'] != ''){
		$host="****"; 
		$username="****"; 
		$password="****"; 
		$db_name="****"; 
		$tbl_name="****";
		
		mysql_connect("$host", "$username", "$password")or die("cannot connect");
		mysql_select_db("$db_name")or die("cannot select DB");
	
		$userId = $_COOKIE['UserId'];
		$userName = $_POST['txtName']; 
		
		$sql="UPDATE $tbl_name SET user_name='$userName' WHERE user_id='$userId'";
		$result = mysql_query($sql) or die('Query failed. ' . mysql_error());
		if ($result==1){
			header('Location: profile.php');
		}
	}
	mysql_close();
?>
<html>
<head>
<title>Change Name</title>
</head>
<body>
	<form method="post" name="frmChangeName" id="frmChangeName">
        <input type="text" name="txtName" id="txtName">
        <input type="submit" name="cmdSubmit" value="Change" id="cmdSubmit">
    </form>
</body>
</html>
<?php
session_start();
	if ($_POST['txtName'] != ''){
		$host="localhost"; 
		$username="root"; 
		$password=""; 
		$db_name="testing"; 
		$tbl_name="host";
		
				
		[B]// change[/B]
	$con=mysql_connect($host, $username, $password) or die("cannot connect");
	mysql_select_db($db_name, $con) or die("cannot select DB");
		[B]// change[/B]

		
		print("Host Info: ".mysql_get_host_info()."\n");
  print("Server Info: ".mysql_get_server_info()."\n");
  print("Client Info: ".mysql_get_client_info()."\n");
  
		$userId = $_COOKIE['UserId'];
		$userName = $_POST['txtName']; 
		
		$sql="UPDATE $tbl_name SET user_name='".mysql_real_escape_string($userName)."' WHERE user_id='".mysql_real_escape_string($userId)."'";
		$result = mysql_query($sql) or die('Query failed. ' . mysql_error());
		
		[B]// change[/B]
		if (mysql_affected_rows()==1){
			header('Location: profile.php');
		}
		[B]// change[/B]
		
	[B]// change[/B]
	mysql_close($con);
	[B]// change[/B]
	}
?>

<html>
<head>
<title>Change Name</title>
</head>
<body>
	<form method="post" name="frmChangeName" id="frmChangeName">
        <input type="text" name="txtName" id="txtName">
        <input type="submit" name="cmdSubmit" value="Change" id="cmdSubmit">
    </form>
</body>
</html>

Host Info: Localhost via UNIX socket Server Info: 5.0.27-Debian_0.dotdeb.1 Client Info: 5.0.27
Thats the error message

Host Info: Localhost via UNIX socket Server Info: 5.0.27-Debian_0.dotdeb.1 Client Info: 5.0.27
Thats the error message

it wasn't a error, but delete this bit. i was just using it for testing.

print("Host Info: ".mysql_get_host_info()."\n");
  print("Server Info: ".mysql_get_server_info()."\n");
  print("Client Info: ".mysql_get_client_info()."\n");

Ok now the page isn't redirecting, and the field isn't updating still. I'm confused as to why its not working. Thanks for the help, and sorry for the trouble.

are u using cookies or session?

this is probably why it is not updating

$userId = $_COOKIE['UserId'];
 to 
// SESSION
$userId = $_SESSION['UserId'];

also if you have duplicate $userId which u shouldn't this bit will not work. if updated row is just one then redirect, if less than 1 or more don't

if (mysql_affected_rows()==1){
header('Location: profile.php'); 	}

Just out of curiousity why wont it work if im using a cookie to store the information?
also I changed it to a session... And it still wont work... I have updating for the forum posting... And that bit works. Its this single portion that wont work.

Thanks for the links, I am using a session for something else, but the cookie was to store the users name

clear your cache first.

// check to see if cookie is set
echo $_COOKIE['UserId'];

// check to see if any row have been updated. should be more than 0 if update
echo mysql_affected_rows();
This article has been dead for over six months. Start a new discussion instead.