dousong8187 2013-03-02 10:49
浏览 39
已采纳

如何将更新查询从mysql转换为PDO? [关闭]

I want to Convert this query to pdo : please anybody who can help will be appreciated

function updateonlinesession(){         
if(isset($_SESSION['username']['id'])){
$uid = $_SESSION['username']['id'];
$page = $_SERVER['REQUEST_URI'];
$ip = $_SERVER['REMOTE_ADDR'];
$username = $_SESSION['logged'];

("UPDATE site_user SET dateupdated  = now(),ip = '$ip' WHERE 
username = '".mysql_real_escape_string($_SESSION['username'])."'"); 
}

}
This is What I have tried 
<?php 

function updateonlinesession(){         
if(isset($_SESSION['username']['id'])){
$uid = $_SESSION['username']['id'];
$page = $_SERVER['REQUEST_URI'];
$ip = $_SERVER['REMOTE_ADDR'];
$username = $_SESSION['logged'];

$update =("UPDATE site_user SET dateupdated  = now(),ip = '$ip' WHERE 
username = '"($_SESSION['username'])."'");  
$updated_once= $con->($update);
$updated_once->execute();
}

}
?>
  • 写回答

1条回答 默认 最新

  • dongmi4035 2013-03-02 10:57
    关注

    PDO can have values binded to parameters. Like this:

    function updateonlinesession(){         
      if(isset($_SESSION['username']['id'])){
        $uid = $_SESSION['username']['id'];
        $page = $_SERVER['REQUEST_URI'];
        $ip = $_SERVER['REMOTE_ADDR'];
        $username = $_SESSION['logged'];
        $update = "UPDATE site_user SET dateupdated  = now(), ip = ? WHERE username = ?");  
        $updated_once = $con->prepare($update);
        $updated_once->bindParam(1, $ip, PDO::PARAM_STR );
        $updated_once->bindParam(2, $username, PDO::PARAM_STR );
        $updated_once->execute();
      }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题