为什么我的查询没有返回任何结果?我可以运行查询SELECT * FROM
用户WHERE wid = 'worker_040'
,它返回的结果很好。我遗漏了什么吗?
$wid = $_POST['username'];
$con = mysql_connect("11.88.3.2","XXXX","XXXXX");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("chit", $con);
echo "Form details<br />";
$result = mysql_query("SELECT * FROM `users` WHERE wid = '$wid'");
while($row = mysql_fetch_array($result)){
echo $row['FirstName']. " - ". $row['LastName'];
echo "<br />";
}
mysql_close($con);
您可以花一些时间来调试。
例如,确保您的脚本是通过HTTP POST请求访问的,并且在请求中发送了'username'(设置了$_POST['request']并具有可以/将返回结果的有效值)。
在执行查询后获得一些信息(您可以使用mysql_error()),获取返回的行数等。在发送sql查询执行之前输出它。
打印while循环中每一行的值。
这些是你可以用来找出可能发生的事情的提示/提示。还有其他的方法,但你可以试试上面的
你正在调用你的结果行作为一个数字数组,但引用它们作为一个关联数组-改变你的while
循环使用mysql_fetch_assoc
编辑-这可能不是它!
mysql_fetch_array
在默认情况下将数组作为关联数组和数值数组返回,因此不应该影响您的上述代码。