嗨:我在調試某些MySQL代碼時遇到了問題。'SQLSTATE [42S22]:未找到列:1054未知列'id'
背景
- 下載http://ajaxlivesearch.com/源代碼
- 操作指導和調試啓用
- 創建一個MySQL數據庫具有以下欄目:LIST_ADDRESS,list_COMPANY,list_WEBSITE,list_INDUSTRY
- 我知道db +連接工作(我設置了一個小測試文件來連接&吐出db表中的數據)
問題
- 搜索無法正常工作,並返回一個 '出事了' 錯誤
- 啓用調試,error_log中文件顯示以下內容:
[26-Aug-2015 06:37:42 UTC] PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'field list'' in /public_html/inz/class/handler.php:85 Stack trace:
0 /public_html/inz/class/handler.php(85): PDO-prepare('SELECT COUNT(id...')
1 /public_html/inz/ajax/process_livesearch.php(21): Handler::get_result('Telecom', 1, 5)
2 {main}
- handler.php(85行左右)包含followi NG代碼:
$db = DB::getConnection();
//this is line 85// $stmt = $db->prepare('SELECT COUNT(id) FROM ' . Config::USER_TABLE . ' WHERE ' . Config::SEARCH_COLUMN . ' LIKE :query'); $search_query = $query.'%';
$stmt->bindParam(':query', $search_query, PDO::PARAM_STR);
$stmt->execute();
$number_of_result = $stmt->fetch(PDO::FETCH_COLUMN);
對於裁判,process_livesearch.php行21包含以下內容:
$result = json_encode(Handler::get_result($_POST['ls_query'], (int) $_POST['ls_current_page'], (int) $_POST['ls_items_per_page']));
有誰知道爲什麼它似乎是在尋找一個叫列'ID' ?這不是在配置文件中指定的任何地方,也沒有在其他地方的代碼,我可以看到比handler.php的85線被提及其他...
在表格中添加一個id列並將其設置爲唯一 – Ohgodwhy
錯誤告訴你需要知道的一切:「列id缺失」。添加:) –
顯示你的表'Config :: USER_TABLE' 它包括什麼列? –