使用php从html表单提取数据并与数据库中的字段进行比较

使用php从html表单提取数据并与数据库中的字段进行比较,php,mysql,Php,Mysql,我一直在努力使这一点正确,但它不起作用。我可以从数据库中检索所有数据,但我想从用户在表单中输入的html表单中检索jobname,以及用户在表单中输入的位置,并将这些文本与数据库表上的jobname和location字段进行比较。我知道这听起来很混乱,但以下是我的代码: <html> <body> <?php ob_start(); $host=""; // Host name $username= ""; // Mysql username $password

我一直在努力使这一点正确,但它不起作用。我可以从数据库中检索所有数据,但我想从用户在表单中输入的html表单中检索jobname,以及用户在表单中输入的位置,并将这些文本与数据库表上的jobname和location字段进行比较。我知道这听起来很混乱,但以下是我的代码:

<html>
<body>
<?php
ob_start();
$host=""; // Host name 
$username= ""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name=""; // Table name 

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// Define $myusername and $mypassword 
$job=$_POST['jobName'];
$mylocation=$_POST['location'];

// To protect MySQL injection (more detail about MySQL injection)
$job = stripslashes($job);
$mylocation = stripslashes($mylocation);
$job = mysql_real_escape_string($job);
$mylocation = mysql_real_escape_string($mylocation);

$sql="SELECT * FROM ".$tbl_name." WHERE jobName='".$job."' and      location='".$mylocation."';";

$result=mysql_query($sql);

$num=mysql_numrows($result);

mysql_close();
?>
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<td><font face="Arial, Helvetica, sans-serif">jobName</font></td>
<td><font face="Arial, Helvetica, sans-serif">jobType</font></td>
<td><font face="Arial, Helvetica, sans-serif">Location</font></td>
<td><font face="Arial, Helvetica, sans-serif">Description</font></td>
<td><font face="Arial, Helvetica, sans-serif">Contact</font></td>
</tr>

<?php
$i=0;
while ($i < $num) {

$job=mysql_result($result,$i,"jobName");
$type=mysql_result($result,$i,"jobType");
$myLocation=mysql_result($result,$i,"location");
$desc=mysql_result($result,$i,"description");
$cont=mysql_result($result,$i,"contact");
?>

<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $job; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $type; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $myLocation; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $desc; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $cont; ?></font></td>
</tr>

<?php
$i++;
}
ob_end_flush();
?>
</body>
</html>


您需要在此页面或指向此页面的其他页面上使用HTML表单。 应该看起来像

<form method="post" action="file-above.php" (leave action attribute empty if it's in the same file)>
 <input type="text" name="jobName" />
 <input type="text" name="location" />
</form>

似乎是个好建议;还需要一个提交按钮;)非常感谢你的回复。我在另一个页面上有这段代码,我有这个表单,用户可以输入文本,当用户按submit时,我发布的这段代码会处理它,但它仍然不起作用,当我按submit时,它会显示一个空白页面,即使我在databasetry print\r($\u post)上有数据;只是为了调试的目的。并从数据库中打印结果。。。看看遗漏了什么?你面临的是什么错误..顺便说一句,你有一个语法错误:mysql\u numrows它应该是mysql\u num\u rowsry只要
而($num){
不需要
$i