php pdo:update + insert然后选择return null

时间:2016-12-24 07:02:32

标签: php mysql pdo

由于某种原因,这个执行的PHP代码返回NULL ... cud any1帮助纠正它?

public function like($pid)
        {
             $uid = escape($_SESSION['user']);
             $sql = $this->_db->prepare("UPDATE postsinitial SET likes = likes+1 WHERE pid = :m;INSERT IGNORE INTO userlikedposts (ulp_userid,ulp_postid) VALUES (:k, :m)");
             $sql->bindValue(':k', $uid);
             $sql->bindValue(':m', $pid);
             $sql->execute();

             $query = $this->_db->prepare("SELECT likes FROM postsinitial WHERE pid = :n");
             $query->bindParam(':n', $pid);
             $query->execute();
             while($rows = $query->fetch())
             {
                return $rows['likes'];
             }

         }

但是当我分别运行查询的两个部分,即注释掉$ sql批处理代码并单独运行$ query批处理时,它可以工作并返回一个值...,它工作正常..但不能合并为陈述......那我怎么按原样运行呢?

我也为选择查询尝试了这个模型bt仍然是相同的结果:

$query = $this->_db->prepare("SELECT likes FROM postsinitial WHERE pid = :n");
             $query->bindParam(':n', $pid);
             $query->execute();
             while($rows = $query->fetch(PDO::FETCH_ASSOC))
             {
                return $rows[0]['likes'];
             }

1 个答案:

答案 0 :(得分:0)

答案很简单:

您应该逐个运行查询,而不是将它们全部填充到一个调用中。运行你的插入查询分隔rom更新,你会没事的。

compile 'com.android.support:appcompat-v7:24.0.0-alpha2'