如何使用HTML表单中的PHP检查DB记录

时间:2015-10-13 16:30:45

标签: php html mysql database forms

我在编程方面没有经验,但我有一个问题,就是使用HTML格式'method = POST'从PHP获取数据。

我的目标是使用HTML表单从数据库收到一封电子邮件并以数字形式显示,例如,在数据库中找到了多少指定的电子邮件地址`(以html格式 - )。 我想在html / php页面中显示来自DB的电子邮件记录,作为数字,例如5,24,82等。

到目前为止,我已经这样做了: 我使用了DB命令代码

SELECT email, COUNT( email ) Total
FROM table_name
GROUP BY email
HAVING Total >1;

输出结果如下:

email                    Total
app@gmail.com                7
yoyo@gmail.com              13
yoyoaa@gmail.com             3
yoyoadade@gmail.com          3
yoyoaga3@gmail.com           3
yoyoas@gmail.com             3
yoyoassdf@gmail.com          3


3,7和13是输出结果,其中包含在数据库中找到的重复电子邮件地址。

这是我到目前为止所做的PHP代码,它不起作用,它没有给我我想要的结果:

$link = mysqli_connect("db_host", "db_username", "password", "db_name");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$sql = "SELECT email, COUNT( email ) Total\n"
. "FROM table_name\n"
. "GROUP BY email\n"
. "HAVING Total >1";
if(mysqli_query($link, $sql)){
echo "Found: $row['email']; ',' email addresses in the database.";
} else {
echo "Email address have no records in database.";
}

mysqli_close($link);

..和表单代码我用于POST方法从数据库中获取指定的电子邮件地址计数:

<form action='?getdata' method='post'>Enter email: <input type='text'    name='email' id='email'><br><input type='submit' name='submit' value=' Check records '></form>

希望尽快解决这个问题。我在互联网上搜索了人们有同样的问题,但没有找到确切的结果。

感谢您的帮助。

谢谢, 莱德:)

1 个答案:

答案 0 :(得分:0)

@Matt Jacob是对的。您需要遍历结果才能将其打印出来。

$sql = "SELECT email, COUNT( email ) Total\n"
. "FROM table_name\n"
. "GROUP BY email\n"
. "HAVING Total >1";
$raw_results = mysqli_query($link, $sql);
while ($row = mysql_fetch_array($raw_results)){ 
      // sorry I don't know msqli just yet(on my list)
      // Use the mysqli equivelant for fetch_array
      $email = $row['email'];
      $count = $row['count( email )'];

      print "$email has $count occurences<br />\n";
}