Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 保存循环中的变量以在SQL语句中使用_Php_Sql - Fatal编程技术网

Php 保存循环中的变量以在SQL语句中使用

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的每个值保存在一个变量或数组中

下面我将$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的每个值保存在一个变量或数组中,以便使用下面的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 = ?);
请注意,
是一个参数占位符。不要用常量值咀嚼查询字符串;学习使用参数