返回多行有相同的克隆名称的MySQL-PHP
问题描述:
我想这个代码得到纽约市的所有用户:返回多行有相同的克隆名称的MySQL-PHP
$result = mysql_query("select * from tbl_city WHERE city='ny'");
while ($row = mysql_fetch_object($result)) {
$a="$row->username";}
echo $a;
,但它只是返回的第一个。我怎样才能获得更多的行?
答
你已经写回声$一个外循环,请使用此修改代码:
$result = mysql_query("select * from tbl_city WHERE city='ny'");
while ($row = mysql_fetch_object($result))
{
$a=$row->username;
echo $a;
}
答
如果你只是想显示的用户名,那么就没有必要使用额外的变量。你可以做如下:
$result = mysql_query("select * from tbl_city WHERE city='ny'");
while ($row = mysql_fetch_object($result))
{
echo $row->username;
}
虽然,mysql_query()
已被弃用。因此,我建议你使用mysqli->query()
代替如下:
$result = mysqli->query("select * from tbl_city WHERE city='ny'");
while ($row = $result->fetch_object())
{
printf ("%s\n", $row->userame);
}
希望它有帮助!
您不断更改'$ a'变量,但您只在最后一个循环后输出它。这就像将a更改为1.将其更改为2.至3.输出a。 A = 3 – icecub
也请停止使用'mysql_ *'功能。他们已经被弃用了3年以上,他们将不再使用PHP 7+。 Considder使用[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO](http://php.net/manual/en/book.pdo.php)代替与[预备声明](https://en.wikipedia.org/wiki/Prepared_statement)。 – icecub