2013-04-11 81 views
0

我试图更新我的数据库中的最后一次访问时间问题即时通讯使用postgres sql和字符串我必须在单引号内使用双引号,但这是抛出声明中,有没有办法来解决这个问题Postegre sql更新语句报价问题

$sql= "UPDATE users SET last_access=' .date("Y-M-D", time()).' WHERE login_id= '" .$login. "'"; 
pg_query($conn, $sql); 
+4

**你离开自己敞开SQL注入攻击**请了解如何使用参数化查询(最好使用PDO模块)来保护您的Web应用程序。 http://bobby-tables.com/php有例子让你开始。 – 2013-04-11 01:07:29

+0

确实,我想要一个名为'foo'的登录名;从用户删除.... – 2013-05-14 01:44:32

回答

1
$sql= "UPDATE users SET last_access='" 
    .date("Y-m-d", time()). 
    "' WHERE login_id= '$login'"; 

或更容易和更清洁的使用PostgreSQL的日期:

$sql= "UPDATE users SET last_access = current_date WHERE login_id= '$login'";