我对mysql查询有点问题。出于某种原因,我可以在mysql查询内部回显所有相关的行,但在查询之外,它只返回最后一行。这是我的密码。有什么建议吗?
//Get all associated
$q=mysql_query("SELECT * FROM `ACCOUNT` WHERE ACCOUNT_ID='$act_id'");
while ($row = mysql_fetch_assoc($q)){
$act_name=$row['ACT_NAME'];
echo "$act_name<br>"; // This returns all rows fine
}
echo "$act_name<br>"; // This only return the last row. i would like to get all rows.
获取所有记录的唯一方法是使用PDO或MySQLi。这里有一个例子:
$conn = new mysqli($hostname, $username, $password, $database);
$query = "SELECT * FROM `ACCOUNT` WHERE ACCOUNT_ID='$act_id'";
$results = $conn->query($query);
$resultArray = $results->fetch_all(MYSQLI_ASSOC);
正如@esqew所说,您需要停止使用mysql_*
函数。