Php 保存循环中的变量以在SQL语句中使用
下面我将$name另存为Php 保存循环中的变量以在SQL语句中使用,php,sql,Php,Sql,下面我将$name另存为 //$username is a session variable $sql = "SELECT * FROM followers WHERE user = '$username'"; foreach ($pdo->query($sql) as $data) { $friendsName = $data['friend']; echo"$name"; } 我试图将$friend的每个值保存在一个变量或数组中
//$username is a session variable
$sql = "SELECT * FROM followers WHERE user = '$username'";
foreach ($pdo->query($sql) as $data) {
$friendsName = $data['friend'];
echo"$name";
}
我试图将$friend的每个值保存在一个变量或数组中,以便使用下面的SQL语句显示所有形式的$friend
$sql2 = "SELECT * FROM posts WHERE username = $name ";
或者如果我必须把它做成一个数组
$sql2 = "SELECT * FROM posts WHERE username IN ($friendArray)";
因此,如果$variable等于'some'和'name',sql语句将发现用户名同时等于'some'和'name'的行
我希望这是有道理的。谢谢大家! 你没有。改为使用
JOIN
、IN
或EXISTS
,以便只运行一个查询:
select p.*
from posts p
where p.username in (select f.friend from followers f where f.user = ?);
请注意,?
是一个参数占位符。不要用常量值咀嚼查询字符串;学习使用参数