显示具有相同第一个值的多个行
I am trying to view all the values of a certain field as long as the username='entered username'
. My problem is that I can only do this in a while loop and print out the result within the while loop, so I can't use the results outside the while loop. Is there any other way to do this? Here is my current code.
$query = mysql_query("SELECT * FROM databse WHERE username='$username'");
$numrows = mysql_num_rows($query);
while ($row = mysql_fetch_assoc($query)){
$message= $row['message'];
print_r ($message);
}
mysql_close();
我试图查看某个字段的所有值,只要 username ='输入用户名 “代码>。 我的问题是我只能在while循环中执行此操作并在while循环中打印出结果,因此我无法在while循环之外使用结果。 有没有其他方法可以做到这一点? 这是我当前的代码。 p>
$ query = mysql_query(“SELECT * FROM databse WHERE username ='$ username'”);
$ numrows = mysql_num_rows($ query) ;
while($ row = mysql_fetch_assoc($ query)){
$ message = $ row ['message'];
print_r($ message);
}
mysql_close ();
code> pre>
div>
You can do as below :
$query = mysql_query("SELECT * FROM databse WHERE username='$username'");
$numrows = mysql_num_rows($query);
$result = array();
while ($row = mysql_fetch_assoc($query)){
$result[] = $row;
}
print_r ($result);
mysql_close();
- Your query will return an error if
$username
contains a single quote (solution: escape it or use PDO) - Your query will have serious security problem if
$username
comes from a user input (solution again: escape it properly or, better, use PDO)
You can store your results in an array.
$messages = array();
while ($row = mysql_fetch_assoc($query)){
$messages[] = $row['message'];
}
print_r($messages);
try this to print all 'message' results
$query = mysql_query("SELECT * FROM databse WHERE username='$username'");
$numrows = mysql_num_rows($query);
$datas = array();
while ($row = mysql_fetch_assoc($query)){
$message= $row['message'];
$datas[] = $message;
}
print_r ($datas);
mysql_close();