0

我正在使用 php 使用以下代码从 mysql 数据库中获取记录:

<?php
    $username="";
        $password="";
        $database="";
        $hostname="";

               $con = mysql_connect($hostname, $username, $password);

        if (!$con){
            die('Could not connect: ' . mysql_error());
        }

        mysql_select_db($database, $con);


    if(isset($_POST['emp'])){
        $emp = $_POST['emp'];
        $result = mysql_query("SELECT * FROM contact_log", $con);
        echo mysql_num_rows($result);
        die();
        while($row = mysql_fetch_array($result)){
            $emp = $row['emp'];
            echo $emp.'<br>';
        }
        die();
    }

        mysql_close($con);
?>

这工作正常并返回正确的字段。问题是,如果我将查询更改为

$result = mysql_query("SELECT DISTINCT * FROM contact_log", $con);

或者

$result = mysql_query("SELECT * FROM contact_log GROUP BY emp", $con);

不返回任何结果。

mysql_num_rows 甚至没有返回一个值,该值向我表明这些行正在破坏我的代码,但我无法弄清楚如何。

4

1 回答 1

0

我怀疑你想distinct *对你的第一个查询做一个。查看您的代码,您可能想要:

"SELECT DISTINCT emp FROM contact_log"

您可以获得更多关于出了什么问题的信息mysql_error

mysql_query("select * from table") or die(mysql_error())

最后,您确定$_POST['emp']正在发送吗?如果要确保,请在此之后立即回声。正如您所知道的,您没有将empPOST 变量用于除标志之外的任何东西来输入该代码块。 $emp = $_POST['emp'];什么都不做。

于 2012-10-25T17:52:11.063 回答