0
我正在做一個實踐項目,建立一個基本的社交網絡。我有一個包含用戶ID,姓名,姓氏和朋友列的表格,其中包含所有其他用戶的ID號碼,他們都是朋友。例如。 3「唐納德」「鴨子」「4,5,23,42」。
下面的作品,如果我知道的值:PHP MySQL搜索數據中的數據
if(mysqli_connect_errno($con)) {
echo "failed to connect" . mysql_connect_error();
} else {
$resulting = mysqli_query($con, "SELECT * FROM $tbl_name WHERE LastName LIKE '%$secondquery%'
OR LastName LIKE '%$firstquery%'
OR LastName LIKE '%$thirdquery%'
OR LastName LIKE '%$fourthquery%'
OR FirstName LIKE '%$secondquery%'
OR FirstName LIKE '%$firstquery%'
OR FirstName LIKE '%$thirdquery%'
OR FirstName LIKE '%$fourthquery%'
");
$counting = mysqli_num_rows($resulting);
if($counting != 0){
while($row = mysqli_fetch_array($resulting))
{
if($row['Profile'] != null) {
$defaultprofilepic = $row['Profile'];
}else {
$defaultprofilepic = "defaultprofile.JPG";
}
$PublicProfile = $row['ProfilePage'];
$Friends = array("4", "5", "23", "42")
if(in_array(42, $Friends)){
echo $row['FirstName'] . " is your friend!";
} else {
echo "Connect with " . $row['FirstName'];
}
}
}
}
但是,我不能讓下面的工作正常,不管數據如何顯示在數據庫(例如「1」,「2」,「 42" 或‘1,2,3,4’或1 2 3 4,如果42是在列表中的第一個,然後就經常做的工作,但是這不是非常有幫助!
$Friends = array($row['Friends'];
if(in_array(42, $Friends)) {
echo $row['FirstName'] . " is your friend!";
} else {
echo "Connect with " . $row['FirstName'];
}
我知道有可能有更好的方法來做這件事,甚至存儲相關數據,所以有任何建議是值得歡迎的!我也知道以下可能容易受到sql注入的影響(因爲「querys」是fr om用戶搜索),但沒有正確理解,但這樣的幫助也會很好。謝謝!
這是爲了做到這一點(和別人誰是剛學SQL我自己,我也覺得超沮喪的是SQL不支持列表)。我第二次學習PDO。你可以在這裏閱讀 - http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/ –