sermed
sermed

Reputation:

insert into mysql problem

i have a field in table opt named confirm of type tinyint. i want to insert value(1) by this statement but it is not working can any one help??

$connect= mysql_connect("localhost","root") or die ("Sorry, Can not connect to database");

mysql_select_db("login") or die (mysql_error());

$user=$_POST['staff'];
echo $user;

$query="SELECT  * from users where username='$user' ";
$result=mysql_query($query,$connect) or die(mysql_error());
$row=mysql_fetch_array($result);

$uid=$row['userid'];
echo $uid;

$query="SELECT  * from opt where userid='$uid' ";
$result=mysql_query($query,$connect) or die(mysql_error());
$row=mysql_fetch_array($result);

if($row['confirm']==0)
{

$query = "INSERT INTO opt (confirm) values(1)";
echo 'The user selected options has confirmed';


}
?>

Upvotes: 0

Views: 233

Answers (5)

Ironicnet
Ironicnet

Reputation: 557

Why is not working? what error is throwing?

Check the other fields of the table...

Upvotes: 0

Allain Lalonde
Allain Lalonde

Reputation: 93318

$query is a variable and there's no reason that it would cause a record to magically get inserted into the opt table.

You need to insert the following line after $query = "...":

mysql_query($query);

Also, I hopethat's not the code you're running in production.

You need to have the following somewhere:

$user = mysql_real_escape_string($user); 

Upvotes: 0

James Anderson
James Anderson

Reputation: 27478

Apart from not executing the "InSERT STATEMENT",

You should probably be using an

 "UPDATE OPT SET CONFIRM = '1' WHERE USERID = $user;"

as the row already exists ('cause you managed to select it!).

Upvotes: 0

Jack
Jack

Reputation: 1008

add an extra

$result=mysql_query($query,$connect) or die(mysql_error());

after the line

$query = "INSERT INTO opt (confirm) values(1)";

Upvotes: 2

Bombe
Bombe

Reputation: 83846

You are not executing the query.

Upvotes: 8

Related Questions