我在这里是一个大菜鸟,所以我想把它弄清楚。“
我想对“id,fist和last”进行SQL请求,并将每个请求存储在变量中。 下半部分代码将使用这些变量。
较低的陈述只是为了看看var是否开始分配......显然它不是,但我没有错误,只是空行。如何获取集合中的信息?
$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;
答案 0 :(得分:1)
我认为你想要一些更适合你的测试:
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/>";
}
如果您确实希望保留查询中的所有结果,则需要执行以下操作:
$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++;
}
另外,你应该注意到mysql_fetch_assoc()实际上是一个不推荐使用的PHP函数,根据手册页:http://php.net/manual/en/function.mysql-fetch-assoc.php
答案 1 :(得分:0)
echo $row ['per_ID'] = $per_ID;
应该是
$per_ID=$row['per_ID'];
你回应$per_ID;
应该工作
在循环中,你每次都会覆盖$ per_ID,并以最后一个值结束。
答案 2 :(得分:0)
看起来你的问题出在这些陈述中:
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循环,你将继续写入相同的三个变量。因此,在循环结束后,您将只拥有最后一组字段的值。