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/ –