我使用Ajax來發送一個搜索字符串PHP腳本執行類似功能的MySQL來找到像串的用戶名所有相關條目好友發送搜索。我在數據庫zukeru和zukeru2中有兩個當前條目。當我搜索z我只得到zukeru返回在我的控制檯輸出。當我搜索2我仍然得到zukeru和我真的不知道爲什麼。PHP字符串比較搜索只返回一個項目沒有返回正確的條目
另外如何i。從一個PHP嵌套元組刪除特定的字段。出於顯而易見的原因,我不想包含密碼字段。對不起,即時通訊新的PHP學習,因爲我到目前爲止它不像我認爲它會有點類似於Python。
返回的對象搜索2號的時候,但我得到zukeru而不是zukeru2沒有意義。
Object {0: "2", 1: "you wish you could see", 2: "zukeru", 3: "deleted for security", 4: "grant", id: "2", email: "deleted for security", username: "zukeru", password: "deleted for security", name: "grant"}
這是我用於上述結果的搜索字符串。你可以看到我搜索2和回來zukeru而不是zukeru2
profile.php:92 searchstring=2
<?php
$db = new mysqli(security reasons removed.);
extract($_POST);
//I think i can remove this session start ?
session_start();
$serach_string = $_POST['searchstring'];
$fetch=$db->query("SELECT * FROM users WHERE username LIKE '%$serach_string%'");
$friends=mysqli_fetch_array($fetch);
//echo $search_string
echo json_encode($friends);
?>
這裏是我的jQuery櫃面你想看到
function search(){
var url = "search_friends.php";
$.ajax({
type: "POST",
url: url,
data: $("#search_friends").serialize(), // serializes the form's elements.
success: function(data)
{
//console.log(data);
var returned_friends = JSON.parse(data);
var html_built = '<br>';
console.log(returned_friends);
console.log($("#search_friends").serialize());
if (returned_friends){
$.each(returned_friends, function(key, value) {
if (key =="username"){
html_built += '<li><a href="#"><button class="btn btn-primary" style="width:100%;" id="'+value+'" onClick="add_friend(this.id)"> Send '+value+' A Friend Request</button></li>';
}
});
}
html_built += ""
document.getElementById("list_friends").innerHTML = html_built;
}
});
return false;
}
這是林目前正在使用,我得到了一個未定義的方法。它找不到fetch_all();並使用PHP 5.4
這裏IM是控制檯錯誤返回。
<br />
<b>Fatal error</b>: Call to undefined method mysqli_result::fetch_all() in <b>/home/gzukel/public_html/search_friends.php</b> on line <b>7</b><br />
<?php
$db = new mysqli();
extract($_POST);
session_start();
$serach_string = $_POST['searchstring'];
if($fetch=$db->query("SELECT username FROM users WHERE username LIKE '%$serach_string%'")){
$friends=$fetch->fetch_all();
echo json_encode($friends);
}else{
echo 'no results';
}
?>
RTFM:http://php.net/manual/en/mysqli-result.fetch-array.php - 抓取函數返回一個單行結果,而不是整個結果集。 –
那麼返回結果集的最好方法是什麼?標準的常見做法是什麼? –
取一個循環,構建陣列,則數組 –