Re: Verifying syntax executed correctly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ron Piggott (PHP) wrote:
If I give this command through PHP to mySQL

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query = "UPDATE `table` SET `last_activity_field` = '$current_date'
WHERE `reference` = '$account_reference' LIMIT 1;";
mysql_query($query);
mysql_close();

is there a way to know if it executed successfully?

Two ways.

Firstly:

$result = mysql_query($query);
if (!$result) {
  echo "Bad Query or something!: " . mysql_error() . "<br/>";
}

will tell you quickly whether the query worked at all.

Secondly php.net/mysql_affected_rows will tell you how many rows that query changed.

Lastly I hope that's just an example otherwise you will have problems with sql injection.

You can either validate your data before (ie make sure current_date only contains what you expect) or change

$query = "UPDATE `table` SET `last_activity_field` = '$current_date'
WHERE `reference` = '$account_reference' LIMIT 1;";

to use either mysql_escape_string or mysql_real_escape_string:

$query = "UPDATE `table` SET `last_activity_field` = '" . mysql_escape_string($current_date) . "' WHERE `reference` = '" . mysql_escape_string($account_reference) . "' LIMIT 1;";

Depending on which version of php you have (RTM).

--
Postgresql & php tutorials
http://www.designmagick.com/

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux