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 に答える