2007. 04. 11, szerda keltezéssel 16.57-kor Fredrik Thunberg ezt írta: > marcelo Wolfgang skrev: > > Hi all, > > > > I'm new to this list and new to php programming so sorry if I do > > something wrong here :) > > > > Ok, now to my problem. > > > > I've created a query to update a mysql db, and it isn't working, and > > it's not throwing me any errors, so I need some help to figure out > > what's wrong here. My code follows : > > > > <? > > if($_GET['act'] = 'a'){ > > $action = 1; > > } else if ($_GET['act'] = 'd'){ > > $action = 0; > > } > > > Don't use "=", use "==" (or in some cases "==="). > "=" is for assignment. > > Also, what if $_GET['act'] is neither 'a' or 'd'? > > > > $id = $_GET['id']; > > > > Again, what if $_GET['id'] is null? and what if $_GET['id'] is something like "1; DROP TABLE tb_emails;" ?? SQL injection just waits to happen greets Zoltán Németh > > > mysql_connect("localhost","XXXX","XXXX") or die (mysql_error()); > > mysql_select_db ("taiomara_emailList"); > > > $email_Query = mysql_query("UPDATE 'tb_emails' SET 'bol_active' = > > $action WHERE `auto_id` = $id"); > > Use backticks if you think you need them > In this case you don't > > $sql = "UPDATE `tb_emails` SET `bol_active` = $action WHERE `auto_id` = > $id"; > > echo "DEBUG: $sql"; > > $email_Query = mysql_query( $sql ); > > This is how to get the error: > > if ( !$email_Query ) > echo mysql_error(); > > > > mysql_close(); > > ?> > > > > The page is executed, but it don't update the table ... I've tried with > > the '' and without it ( the phpmyadmin page is where I got the idea of > > using the '' ). Any clues ? > > > > Also, how can I make a redirect after the query has run ? > > > > header("Location: http://www.foooooobar.com"); > > Will work as long as you don't print out any output whatsoever to the > browser before this line of code. > > > > TIA > > Marcelo Wolfgang > > > > /T > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php