我的代码应该打印出它找到的所有用户的用户名,但它不应该只打印“用户发现:”一次。请帮我修一下,这是我的密码,谢谢!
<?php
echo'
<form method="post">
<input name="newSearch" id="newSearch" class="inputs" placeholder="Search for a user...">
<input type="submit" id="submit_search" name="submit_search" class="button" value="Search">
</form>';
if ($_POST['submit_search']) {
$search = $_POST['newSearch'];
$getUser = mysql_query("SELECT * FROM Users WHERE Username LIKE '%$search%'");
while($id=mysql_fetch_assoc($getUser)){
$gU = mysql_fetch_object($getUser);
echo "User Found: ", $gU->Username, "<br />";
}
}
?>发布于 2014-04-25 05:07:08
试试下面的任何一种,
while($id=mysql_fetch_assoc($getUser)){
echo "User Found: ". $id["Username"]. "<br />";
}或,
while($gU = mysql_fetch_object($getUser)){
echo "User Found: ". $gU->Username . "<br />";
}以上代码中的任何一个都可以帮助您生存下来。:)
发布于 2014-04-25 04:57:13
echo "User Found: " . $gU->Username . "<br />"应:
echo "User Found: " . $id["Username"] . "<br />"编辑:
您应该选择使用数组或对象,请查看:http://stackoverflow.com/questions/1536813/mysql-fetch-array-mysql-fetch-assoc-mysql-fetch-object以了解差异。我也会建议你远离折旧代码。
使用对象:
while($id=mysql_fetch_object($getUser)){
echo "User Found: " . $id->Username . "<br />";
}与数组一起工作:
while($id=mysql_fetch_assoc($getUser)){
echo "User Found: " . $id["username"] . "<br />";
}发布于 2014-04-25 05:03:59
在循环的每一次迭代中,您都要经历两条记录。mysql_fetch_assoc和mysql_fetch_object各获取一条记录,并将指针增加到记录集中。你几乎肯定想要。
你几乎肯定想:
while($gU=mysql_fetch_object($getUser)){
echo "User Found: " . $gU->Username . "<br />";
}或
while($gU=mysql_fetch_assocc($getUser)){
echo "User Found: " . $gU["Username"] . "<br />";
}https://stackoverflow.com/questions/23284400
复制相似问题