2017-04-05 25 views
0

こんにちは、私はこのエラーを修正することはできません。表示されます 私のデータベースをチェックし、すべての列が存在する、私はそれを修正する方法がわからない、誰かが私を助けてください。致命的なエラー:「SQLSTATE [42S22]:列が見つかりません:PDOException」列が見つかりません:1054不明な列1 display.php行44

これはスナップ後私のコード

class Display extends Journeyholic { 

private $tablename; 
private $recData = array(); 

public function __construct($tablename) { 

    $this->tablename = $tablename; 

    $this->connectToDb(); 
} 

function getAllData() { 
    $sql = "SELECT * FROM `$this->tablename` ORDER BY `id` ASC"; 

    $query = $this->cxn->cxn->prepare($sql); 

    $query->execute(); 
    $data = $query->fetchAll(); 

    return $data; 
} 

function getLastRecordDESC() { 

    $sql = "SELECT * FROM `$this->tablename` ORDER BY `id` DESC LIMIT 1"; 
    $query = $this->cxn->cxn->prepare($sql); 

    $query->execute(); 

    $data = $query->fetch(); 

    return $data; 
} 

function getRecordByID($id) { 

    $id = intval($id); 
$sql = "SELECT * FROM `$this->tablename` WHERE `$id`=$id"; 
    $query = $this->cxn->cxn->prepare($sql); 

    $query->execute(); 

    $this->recData = $query->fetch(); 

    return $this->recData; 

} 


function getAllDataByID($id, $column = "id") { 

    $id = intval($id); 
    $sql = "SELECT * FROM `$this->tablename` WHERE `$column`=$id"; 
    $query = $this->cxn->cxn->prepare($sql); 

    $query->execute(); 

    $data = $query->fetchAll(); 

    return $data; 
} 

である私のデータベースです:

Database

私も単一引用符にバッククォートを変更しようとしたが、それが動作していません。私はちょうど間違っていることとそれを修正する方法を教えてくれる人が必要です。

+0

ケアのようなものになるでしょうか? –

+0

サイドノートでは、なぜ準備と実行を使用していますか? –

+1

あなたが混乱しているように見えるgetAllDataByIDの順序変数 –

答えて

2

主な問題はここにある:

"SELECT * FROM `$this->tablename` WHERE `$id`=$id" 

は私が推測するようになるはずです。

"SELECT * FROM `$this->tablename` WHERE `id`= " . $id 

そうでない場合は、クエリは、ライン44を強調するために

"SELECT * FROM `$this->tablename` WHERE `12345`= 12345 
関連する問題