Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.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/8/variables/2.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/2/shell/5.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 如何使用数组创建变量?_Php_Variables_Do While - Fatal编程技术网

Php 如何使用数组创建变量?

Php 如何使用数组创建变量?,php,variables,do-while,Php,Variables,Do While,这是密码 values变量必须如下所示:或由class='zac'添加,或由class='john'添加,或由class='emily'添加 但是我得到了这个结果:或者由class='zac'加上 我必须做什么?为什么您的代码不起作用 每次都会覆盖变量,而不是追加新值 解决方案 替换 $values = " OR added_by='".$user2."'"; 与 不要使用mysql扩展 mysql_uu扩展已被弃用。您应该改用mysqli_u。 您的代码应该是: $connect = mys

这是密码

values变量必须如下所示:或由class='zac'添加,或由class='john'添加,或由class='emily'添加 但是我得到了这个结果:或者由class='zac'加上

我必须做什么?

为什么您的代码不起作用 每次都会覆盖变量,而不是追加新值

解决方案 替换

$values = " OR added_by='".$user2."'";

不要使用mysql扩展 mysql_uu扩展已被弃用。您应该改用mysqli_u。 您的代码应该是:

$connect = mysqli_connect(host,username,password,db_name);
$get_favory = mysqli_query($connect,"SELECT * FROM favory WHERE user1='$username'");

$values = "";

while($fav = mysqli_fetch_assoc($get_favory)) {
$user2 = $fav['user2'];
$values .= " OR added_by='".$user2."'";
}

echo $values;

使用IN子句可能更简单:


您应该移动到PDO或至少移动到MySQLi扩展。

use.=附加到stringUse,而不是在多个选择器中使用。
$values .= " OR added_by='".$user2."'";
$connect = mysqli_connect(host,username,password,db_name);
$get_favory = mysqli_query($connect,"SELECT * FROM favory WHERE user1='$username'");

$values = "";

while($fav = mysqli_fetch_assoc($get_favory)) {
$user2 = $fav['user2'];
$values .= " OR added_by='".$user2."'";
}

echo $values;
// you only need user2
$get_favory = mysql_query("SELECT user2 FROM favory WHERE user1='$username'");

while($fav = mysql_fetch_assoc($get_favory)) {
    $user2[] = $fav['user2'];
}
$values = "'" . implode("','", $user2) . "'";
echo "SELECT * FROM table WHERE added_by IN ($values)";