Php 将SQL输出存储在变量中

Php 将SQL输出存储在变量中,php,mysql,sql,variables,Php,Mysql,Sql,Variables,我是这里的一个大傻瓜,所以我正在努力把它弄清楚 我想对“id、first和last”进行SQL请求,并将它们存储在一个变量中。 代码的下半部分将处理这些变量 下面的语句只是查看变量是否已开始分配。。。显然不是,但我没有错误,只是空行。我怎样才能在一个集合中获得信息来做一些事情 $newIDs = mysql_query("SELECT per_ID, per_FirstName, per_LastName FROM person_per WHERE DATE_SUB(NOW(),INTERVAL

我是这里的一个大傻瓜,所以我正在努力把它弄清楚

我想对“id、first和last”进行SQL请求,并将它们存储在一个变量中。 代码的下半部分将处理这些变量

下面的语句只是查看变量是否已开始分配。。。显然不是,但我没有错误,只是空行。我怎样才能在一个集合中获得信息来做一些事情

$newIDs = mysql_query("SELECT per_ID, per_FirstName, per_LastName FROM person_per WHERE DATE_SUB(NOW(),INTERVAL 6 MONTH)<per_FriendDate ORDER BY per_FriendDate DESC") or die(mysql_error());



while($row = mysql_fetch_assoc($newIDs)){
    echo $row ['per_ID'] = $per_ID;
    echo $row ['per_FirstName'] = $per_FirstName; 
    echo $row ['per_LastName'] = $per_LastName;
    //below is for testing purposes only
    echo $per_FirstName;
    echo "<br/>";

}

print $per_ID;
echo $per_LastName;
$newIDs=mysql\u query(“从person\u中选择peru ID、peru FirstName、peru LastName每WHERE DATE\u SUB(现在(),间隔6个月)
应该是

$per_ID=$row['per_ID'];
您的
$per_ID;
的回音应该可以正常工作


由于它在一个循环中,您每次都将覆盖$per_ID,并以最后一个值结束。

您的问题似乎出现在以下语句中:

echo $row ['per_ID'] = $per_ID;
echo $row ['per_FirstName'] = $per_FirstName; 
echo $row ['per_LastName'] = $per_LastName;
这里的等号将变量
$per_ID
的值(当时未赋值)分配给数组。这不是您想要的

相反,你可能想要这样的东西:

$per_ID = $row ['per_ID'];

由于您有一个while循环,在该循环中您将继续写入相同的三个变量,因此情况变得更加复杂。因此,在循环结束后,您将只获得最后一组字段的值。

我想您希望在测试中使用类似的内容:

while ($row = mysql_fetch_assoc($newIDs)) {
    $per_ID = $row['per_ID'];
    $per_FirstName = $row['per_FirstName'];
    $per_LastName = $row['per_LastName'];
    // below is for testing purposes only
    echo $per_FirstName;
    echo "<br/>";
}
while($row=mysql\u fetch\u assoc($newIDs)){
$per_ID=$row['per_ID'];
$per_FirstName=$row['per_FirstName'];
$per_LastName=$row['per_LastName'];
//以下仅用于测试目的
echo$per_FirstName;
回声“
”; }
如果确实希望保留查询的所有结果,则需要执行以下操作:

$rows = array();
$i = 0;

while ($row = mysql_fetch_assoc($newIDs)) {
    $rows[$i] = $row;
    // below is for testing purposes only
    echo $rows[$i]['per_LastName'];
    echo "<br/>";

    $i++;
}
$rows=array();
$i=0;
while($row=mysql\u fetch\u assoc($newIDs)){
$rows[$i]=$row;
//以下仅用于测试目的
echo$rows[$i]['per_LastName'];
回声“
”; $i++; }

另外,您应该注意,根据手册页面,mysql_fetch_assoc()实际上是一个不推荐使用的PHP函数:

反转您的语句。$per_id=$row['per_id'];然后尝试回显它。您不应该使用
mysql_
查询!这就是我所能说的。
$rows = array();
$i = 0;

while ($row = mysql_fetch_assoc($newIDs)) {
    $rows[$i] = $row;
    // below is for testing purposes only
    echo $rows[$i]['per_LastName'];
    echo "<br/>";

    $i++;
}