我使用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甚至没有返回一个值,该值向我表明这些行正在破坏我的代码,但我无法弄清楚如何。
答案 0 :(得分:0)
我怀疑你想在第一次查询时做distinct *
。看看你的代码,你可能想要:
"SELECT DISTINCT emp FROM contact_log"
您可以获得有关mysql_error
出现问题的更多信息:
mysql_query("select * from table") or die(mysql_error())
最后,您确定要发送$_POST['emp']
吗?如果要确定,请在此之后立即回音。而且你知道,你没有使用emp
POST变量来输入该代码块以外的任何标志。 $emp = $_POST['emp'];
绝对没有做任何事。