我試圖使用mysqli語句從MySQL表中檢索單個行。我已經嘗試了幾次不同的代碼迭代,基於此論壇上的各種先前的問題微妙地改變了結構,以及其他一些問題,但似乎無法獲得除'null'以外的任何結果。Mysqli查詢爲數據庫中的簡單行字符串返回空值
這是一個較大的腳本的一部分,它通過jQuery的Ajax請求調用。我已經在下面包含了PHP和Javascript,儘管我對JS的行爲很有信心(現在準備告訴別人......)。
任何關於我哪裏出錯的建議都會非常感謝,因爲我無法再看到樹木,並且只是繞着圈子走。
PHP:
//initiate new mysqli object
$retrieve_link = new AuctionMySQLi($db_host, $db_user, $db_password, $db_name); //custom subclass, this definitely works as is used in other scripts on the server
//prepares DB query. Query has been tested on phpmyadmin and returns the expected data set
$stmt = $retrieve_link->prepare("SELECT `item_number`,`item_name`,`item_category`,`end_date`,`auction_type`,`high_bid_number` FROM `item` WHERE `item_number`=2");
$stmt->execute(); //no params to bind, so execute straight away
$stmt->bind_result($item);
$stmt->fetch();
$dataset = $item->fetch_row();
$response[0] = $dataset; //returned data forms part of larger dataset
echo json_encode($response); //return the entire dataset to a jquery Ajax request
die;
JS:
//this definitely works as objects have been returned via the 'success' function as the code was being developed
$.ajax({
url : "items/populate-home-page-script.php",
type : "GET",
data : {data:toSend},
dataType : "json",
success : function(data){
alert(data[0]);
},
error : function(jqXHR, textStatus, errorThrown){
alert(textStatus+','+errorThrown);
}
});
return false;
我還試圖使用fetch_assoc()
和fetch_row()
作爲PHP查詢的一部分,同時沿從PHP參考材料here和here。我也從Stackoverflow this,this和this中讀到了這些問題,但對於我嘗試的每種不同代碼組合,我仍然看到null
的回報。
正如我在代碼評論中所說的,我知道到DB的鏈接工作正如我在其他腳本中使用它,並在此腳本中的其他區域 - 所以沒有理由爲什麼這個對象wouldn'不管工作。我也知道查詢返回輸入到phpmyadmin的預期數據。
返回的數據只是一些字符串,我想做的任何事情都是將大約16個返回的數據集作爲循環的一部分存儲到數組中,然後將此數組返回給Ajax請求。
刪除所有 – 2014-02-28 02:12:57
是否檢查有沒有查詢後由MySQL報告的錯誤反引號? –
@Dagon - 嘗試刪除這些無濟於事,不幸的是, – dsaa