【问题标题】:Display value of bindParam using PHP PDO使用 PHP PDO 显示 bindParam 的值
【发布时间】:2011-04-09 01:16:58
【问题描述】:

有没有一种简单的方法来回显存储在绑定参数中的值。

$sql ="call storedproc(:firstname, :lastname)";
$stmt = $this->DBH->prepare($sql);
$stmt->bindParam(':firstname', $fname);
$stmt->bindParam(':lastname', $lname);

//I want to do this
echo $stmt->firstname;
$stmt->execute;

【问题讨论】:

    标签: php pdo


    【解决方案1】:

    如果你只想“看看”发生了什么,那么PDOStatement->debugDumpParams()

    将准备好的语句包含的信息直接转储到输出中。它将提供正在使用的 SQL 查询、使用的参数数量 (Params)、参数列表,以及它们的名称、类型 (paramtype) 作为整数、它们的键名或位置、值和查询中的位置(如果 PDO 驱动程序支持,否则为 -1)。

    【讨论】:

    • 需要注意的是,目前这个函数不会打印存储在 params 中的值而不应用 PHP Bug #52384 bugs.php.net/…的补丁。
    • 上面的引用已经在php手册中更新了。从中删除的“价值”,最重要的部分...... :-(
    【解决方案2】:
    <?php 
        function parms($string,$data) {
            $indexed=$data==array_values($data);
            foreach($data as $k=>$v) {
                if(is_string($v)) $v="'$v'";
                if($indexed) $string=preg_replace('/\?/',$v,$string,1);
                else $string=str_replace(":$k",$v,$string);
            }
            return $string;
        }
    
        $string='INSERT INTO stuff(name,value) VALUES (?,?)';
        $data=array('Fred',23);
    
        $string='INSERT INTO stuff(name,value) VALUES (:name,:value)';
        $data=array('name'=>'Fred','value'=>23);
    
        print parms($string,$data);
    
        $update = "update registration";
        $update .= " set status=:statusid";     
        $update .= " where refid=:refid";               
        $stmt = $db->prepare($update);
    
        $data=array('statusid' => $statusid,'refid' => $refid);
        echo parms($update,$data); // checking bind values
        exit; 
    
        $stmt->execute(array ('statusid' => $statusid,'refid' => $refid));
    ?>
    

    //输出

    update registration set status='all' where refid='45'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-14
      • 2014-08-11
      • 2012-05-03
      • 2016-04-14
      • 1970-01-01
      • 2017-02-24
      • 2013-02-15
      相关资源
      最近更新 更多