doutan1857 2013-10-05 21:36
浏览 62
已采纳

使用PDO的准备语句获取数据库记录

I was using this code to fetch records from a database before:

function shapp_get_sections_with_company_id($db, $id)
{
    try
    {
        $que = $db -> query("SELECT * FROM company_sections WHERE company_id = '$id'");
        $result = $que -> fetchAll(PDO::FETCH_ASSOC);
        return $result;
    }catch(PDOException $ex)
    {
        echo $ex -> getMessage();
    }
}

It was working fine. It did its job.

But I'm trying to adapt it to use prepared statements instead.

I have modified the code to this, but I'm not having any luck. Apparently this returns an empty result set:

function shapp_get_sections_with_company_id($db, $id)
{
    try
    {
        $que = $db -> prepare("SELECT * FROM company_sections WHERE company_id = '?'");
        $que -> execute(array($id));
        $result = $que -> fetchAll(PDO::FETCH_ASSOC);
        return $result;
    }catch(PDOException $ex)
    {
        echo $ex -> getMessage();
    }
}

I have also tried returning "$que -> execute(...)" but it wasn't returning a result set. Can I get any help to make this work with prepared statements, please?

  • 写回答

1条回答 默认 最新

  • dqb14659 2013-10-05 21:39
    关注

    Remove the single quotes from the '?' in the prepare call

    $que = $db -> prepare("SELECT * FROM company_sections WHERE company_id = ?");

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题