bindparam不工作 - PDO

时间:2013-11-16 11:03:45

标签: php pdo

我正在尝试获取我的rss脚本给出的链接。

我的代码与bindParam

$items = count($return_data->channel->item);
     for($i=0; $i<1; $i++){
         $link = $desc = $return_data->channel->item[$i]->link;
         $title = $desc = $return_data->channel->item[$i]->title;
         echo $link;
         echo '<hr>';
         // PDO query -> check if news already is in database
         $q1 = $db->prepare("SELECT * FROM runescapenews WHERE link=':link'");
         $q1->bindParam(':link', $link);
         $q1->execute();
         $r1 = $q1->rowCount();
         echo $r1;
         echo '<hr>';
         if($r1 == '0' ){
             echo '0 - Not working';
         }else{
            while($res1 = $q1->fetch(PDO::FETCH_ASSOC)) {
                echo $res1['title'];
            }                 
         }
     }

现在问题是我的结果不起作用:

 http://services.runescape.com/m=news/a=135/barrows---rise-of-the-six
 0
 0 - Not working

但是当我将link = ':link'更改为link='$link'时,我的结果将是:

http://services.runescape.com/m=news/a=135/barrows---rise-of-the-six
1
Barrows - Rise of the Six

所以我的问题是。我怎样才能使用bindParam,并且在使用$ link by prepare时仍然得到结果?

1 个答案:

答案 0 :(得分:2)

$ q1 = $ db-&gt; prepare(“SELECT * FROM runescapenews WHERE link =:link”);