会发生什么:
用户在框中输入他们的ID并单击检查。 它搜索名为“damp”的数据库。 搜索在名为“card”的表中以及名为“state_id”的特定字段中查找。
如果state_id中的值为1,则表单将回显传递,如果为2,则回显取消,如果其为3,则回显已过期如果它找不到它,它就会找不到 。
实际发生的是表单未正确搜索且不显示任何内容。我试图把它改成一个开关(下面),而不是一个if,现在表格没有显示。
<? include('common.php') ?>
<?php
if(isset($_POST['check']))
{
$conn = mysql_connect($server, $db_user, $db_pass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$id = $_POST['id'];
$sql ="SELECT state_id FROM card WHERE id = '$id'" ;
mysql_select_db('damp');
$result = mysql_query( $sql, $conn );
switch ($result)
{
case "1":
echo "pass";
break;
case "2":
echo "canceled";
break;
case "3":
echo "expired";
break;
default:
echo "not found";
}
//echo $_GET['here']; // Prints the name of the page content
//echo $class_obj_id; // Prints the id number of the selected row
?>
<form method="post" action="<?php $_PHP_SELF ?>">
<h2>Check Auth</h2>
<table width="250" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="50" align="center">ID</td>
<td><input name="id" type="text" id="id" value="<?php echo($class_obj_id); ?>" /></td>
</tr>
<tr>
<td width="100"> </td>
<td> </td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="check" type="submit" id="check" value="Check">
</td>
</tr>
</table>
</form>
<?php
}
?>
答案 0 :(得分:2)
我认为您必须对$ result
执行mysqli_fetch_assoc$row = mysql_fetch_assoc($result);
switch($row['state_id'])
答案 1 :(得分:1)
你应该用这个:
$sql ="SELECT state_id FROM card WHERE id = '$id'" ;
mysql_select_db('damp');
$result = mysql_fetch_assoc(mysql_query( $sql, $conn ));
while($result){
switch ($result['id'])
{
case "1":
echo "pass";
break;
case "2":
echo "canceled";
break;
case "3":
echo "expired";
break;
default:
echo "not found";
}
}