2017-07-07 14 views
0

私は非常に厄介な問題を持っている....サーバー上のデータベースからの出力ではなく、PHPスクリプトの

にこのコードのための私の使用状況を取得します。私は毎回わずか5レコードを、AJAXを介して取得したい私は、さらに上をクリック-ボタン。そう遠くない、まだ - 私....

このスクリプトは、単に特定のユーザからの私の5つのレコードを取得する必要があります。

問題:

だから、SQLクエリは、データベース上の問題なく実行します。しかし、私はPHPスクリプトでそれをしたいときは、私は最初のクエリcounter()から取得し、2番目のクエリは私にPDOステートメントから空の配列を与えます。

CODE:

if (empty($_SESSION['counter']) || ($_SESSION['counter'] < 0)) { 

     $sql = 'SELECT count(record.record_id) AS counter FROM record 
       LEFT JOIN recordbook ON record.record_id = recordbook.record 
       WHERE user = ?'; 

       $sth = $this->dbc->prepare($sql); 
       $sth->execute(array($u_id['user_id'])); 
       $count = $sth->fetch(); 

       $_SESSION['counter'] = $count['counter']; 
       var_dump($_SESSION); 
      } 
      $_SESSION['counter'] = $_SESSION['counter'] - 5; 

      $sql = 'SELECT record.record_id, status, place, record.record AS records, comment, recorddate 
        FROM record LEFT JOIN recordbook ON record.record_id = recordbook.record 
        WHERE user = ? ORDER BY record.record_id DESC LIMIT ?,5'; 
      $sth = $this->dbc->prepare($sql); 
      $sth->execute(array($u_id['user_id'], 
           $_SESSION['counter'])); 

      $output = $sth->fetchAll(); 
} 

HOPEの誰かがこの問題を解決する方法を知っている...

テーブル構造

Field | Type | Null | Key | Default | Extra 
record_id | int(10) unsigned | NO | PRI NULL | auto_increment 
status | varchar(200) | YES | NULL | 
place | varchar(200) | YES | NULL 
record | longtext | YES NULL 
comment | longtext | YES | NULL 
recorddate | timestamp | YES | CURRENT_TIMESTAMP 
attachment_id | int(10) unsigned | YES | MUL | NULL 
+0

どこからフェッチするのですか? –

+0

なぜDESC LIMITをやっていますか?5レコードが5レコードをドロップしたい場合は5、ループはどこですか? – clearshot66

+0

'$ output = $ sth-> fetchAll();'を 'while($ data = $ sth-> fetch()){var_dump($ data);}'に置き換え、あなたのデータがそこにあるかどうか確認してください。 – Dimi

答えて

0

okが、やりました!エラーなし....

変数をクエリにバインドする必要があります。それは、準備と実行だけでは、十分にはっきりしていないということです。それで、bindParam(整数用)またはbindValue(Strings用)をコードに追加してください。

PHP.netではPDOStatementのdebugDumpParams()をご覧ください。あなたが設定したParams。

ここにこのマニュアルがありますhttp://php.net/manual/de/pdostatement.debugdumpparams.php

関連する問題