2016-10-20 13 views
0
$pages = ceil ($total/$resultsPerPage); 

    $offset = ($page - 1) * $resultsPerPage; 

    $stmt = $pdo->prepare ('SELECT * 
          FROM tableXYZ 
          LIMIT :limit 
          OFFSET :offset'); 

    $stmt->execute (array (
      'limit' => $resultsPerPage, 
      'offset' => $offset 
    )); 

ちょっと、上記のコードは、私が参照しているコードです。これは何にもつながるが、繰り返し同じエラーはありません パラメータがバインドされていますが、準備されたステートメントの実行に失敗する

- パラメータ

  • 使用位置拘束するもの改名

    • (>を「?」):私はすでに試した そして、何度も何度:

      Error as image

      は、あなたが私を助けることを願って! :)

      ありがとうございます!

  • 答えて

    -1
    $stmt->execute (array (
         'limit' => $resultsPerPage, 
         'offset' => $offset 
    )); 
    

    $stmt->execute (array (
         ':limit' => $resultsPerPage, 
         ':offset' => $offset 
    )); 
    

    である必要があり、バインド配列のキー名はあなたのクエリ文で使用しているものと正確に一致する必要があります。 :記号を含む。

    +2

    これは文書化されていませんが、 ':'は配列内ではオプションです。 – Barmar

    +0

    実際には、コロンは任意であるようですが、マニュアルではどこにも指定していませんが、http://stackoverflow.com/questions/9778887/is-the-leading-colon-for-parameter-names-passed-to- pdostatementbindparam-opt – Qirel

    +0

    しかし、クエリ文で指定されているものと一致するはずです。 – Maximus2012

    関連する問題