我想从 HTML 表单中查询 3 个表。我尝试了很多格式和条件,但这是唯一接近我想要实现的目标的格式和条件。我对此很陌生,我需要帮助。我不知道我缺少什么来显示输出。
这是我的代码:
if(isset($_POST['submit'])) {
$Summary=$_POST['summary'];
$Status=$_POST['status'];
$Priority=$_POST['priority'];
$db=mysql_connect (" ") or die ('I cannot connect to the database because: ' . mysql_error());
$mydb=mysql_select_db(" ");
}
$where = '';
if(isset($Status) && !empty($Status)){
$where .= "status ='$Status' AND ";
}
if(isset($Priority) && !empty($Priority)){
$where .= "priority ='$Priority' AND ";
}
if(isset($Summary) && !empty($Summary)){
$where .= "summary ='$Summary' AND ";
}
$sql= "select * from data $where";
$result = mysql_query($sql);
if (mysql_num_rows($result)==0){
echo "No Match Found";
}else{
while($row = mysql_fetch_array($result)) {
echo $Not_Completed=$row['Not Completed'];
echo $Completed=$row['Completed'];
echo $Miscommunications =$row['Miscommunications'];
echo $Not_Given_Access=$row['Not Given Access'];
echo $Unskilled=$row['Unskilled'];
echo $Missing_Parts=$row['Missing Parts'];
echo $High=$row['High'];
echo $Medium=$row['Medium'];
echo $Low=$row['Low'];
echo $EFirst_name =$row['EFirst_name'];
echo $ELast_name=$row['ELast_name'];
echo $Employee_id=$row['Employee_id'];
}
}
这是我的 HTML 表单:
<select name="status">
<option>status</option>
<option>Completed</option>
<option>Not Completed</option>
</select>
<select name="priority">
<option>priority</option>
<option>High</option>
<option>Medium</option>
<option>Low</option>
</select>
<select name="summary">
<option>summary</option>
<option>Miscommunications</option>
<option>Not Given Access</option>
<option>Unskilled</option>
<option>Missing Parts</option>
</select>
<div align="right"><input type="submit" value="Search">
我收到以下警告:警告:mysql_num_rows() 期望参数 1 为资源, bool 值在 C:\wamp\www\search.php 第 191 行给出//“if (mysql_num_rows($result)==0 )“...
欢迎所有建议。谢谢。
最佳答案
$conditions = array();
if(isset($Status) && !empty($Status)){
$conditions[] = "status ='$Status'";
}
if(isset($Priority) && !empty($Priority)){
$conditions[] = "priority ='$Priority'";
}
if(isset($Summary) && !empty($Summary)){
$conditions[] = "summary ='$Summary'";
}
$where = '';
if (!empty($conditions)) {
$where = "WHERE " . implode(' AND ', $conditions);
}
$sql= "SELECT * FROM data $where";
编辑:您能否发布结果:
if(isset($_POST['submit'])) {
$Summary=$_POST['summary'];
$Status=$_POST['status'];
$Priority=$_POST['priority'];
$db=mysql_connect (" ") or die ('I cannot connect to the database because: ' . mysql_error());
$mydb=mysql_select_db(" ");
} else {
echo "I might not be connected to a database...";
}
echo 'Connection error? ' . mysql_error();
echo 'Ping Result: ' . mysql_ping() === FALSE ? 'Not connected.' : 'Connected.';
$conditions = array();
if(isset($Status) && !empty($Status)){
$conditions[] = "status ='$Status'";
}
if(isset($Priority) && !empty($Priority)){
$conditions[] = "priority ='$Priority'";
}
if(isset($Summary) && !empty($Summary)){
$conditions[] = "summary ='$Summary'";
}
$where = '';
if (!empty($conditions)) {
$where = "WHERE " . implode(' AND ', $conditions);
}
$sql= "SELECT * FROM data $where";
echo "SQL Command: $sql";
$result = mysql_query($sql);
echo 'Query error? ' . mysql_error();
if (mysql_num_rows($result)==0){
echo "No Match Found";
}else{
while($row = mysql_fetch_array($result)) {
echo $Not_Completed=$row['Not Completed'];
echo $Completed=$row['Completed'];
echo $Miscommunications =$row['Miscommunications'];
echo $Not_Given_Access=$row['Not Given Access'];
echo $Unskilled=$row['Unskilled'];
echo $Missing_Parts=$row['Missing Parts'];
echo $High=$row['High'];
echo $Medium=$row['Medium'];
echo $Low=$row['Low'];
echo $EFirst_name =$row['EFirst_name'];
echo $ELast_name=$row['ELast_name'];
echo $Employee_id=$row['Employee_id'];
}
}
关于php - SQL参数警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16638198/