PHP MySQL选择问题


PHP MySQL Select Problem

为什么我的查询没有返回任何结果?我可以运行查询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在默认情况下将数组作为关联数组和数值数组返回,因此不应该影响您的上述代码。