如何在php中添加另一个条件

时间:2016-01-13 08:15:14

标签: php mysql

好的,所以我一直在尝试这个。但我不能成功所以我需要你的帮助。

在另一个文件中,我已将条目提交到数据库,没有任何问题。现在我创建了一个文件ppp.html文件来帮助用户更新数据库。 这是ppp.html

<html>
  <form action="l.php" method="post">
    <input type ="text" name ="complaint">
    <input type="text" name="dte"></input>
    <input type="submit"></input>
  </form>
</html>

我将文件转移到l.php .l.php的功能是显示数据库中的数据。我在查询中添加了一个条件,其中category = $ complaint。它正常工作,但现在我需要两个条件,其中category = $ complaint以及dte = $ date 怎么做 。这是l.php文件

<?php
$complaint = "";
if (isset($_POST['complaint'])) {
    $complaint = $_POST['complaint'];
}

$dte = "";
if (isset($_POST['date'])) {
    $dte = $_POST['date'];
}

mysql_connect("localhost", "root", "") or die("couldnt attack ");
mysql_select_db("site")or die('i surrender');
$query = ("SELECT * FROM site2 where category='$complaint'") or die("couldnt select");
$result = mysql_query($query) or die('hghyt');
while ($complaint = mysql_fetch_array($result)) {
    echo"<td>" . '<br>' . $complaint['category'] . "</tr>";
    echo "<td>" . '<br>' . $complaint['quantity'] . "</tr>";
    echo "<td>" . '<br>' . $complaint['place'] . "</tr>";
    echo "<td>" . '<br>' . $complaint['dte'] . "</tr>";
    ECHO"<TR>" . "<A HREF='update.php?complaint=" . $complaint['category'] . "'>" . "UPDATE" . "</A>";
    echo "<br/>";
    ECHO"</table>";
}
?>

3 个答案:

答案 0 :(得分:2)

您将AND添加到SQL语句。像这样:

("SELECT * FROM site2 where category='$complaint' AND dte='$dte'");

您应该始终转义或绑定变量,以保护自己免受SQL注入。 有关SQL注入的进一步阅读:What is SQL injection?

你甚至不应该使用mysql_ *。 阅读:Why shouldn't I use mysql_* functions in PHP?

编辑:

$query = "SELECT * FROM site2 where category='$complaint' AND dte='$dte'";

答案 1 :(得分:0)

只需将AND添加到WHERE这样的条件:

$query=("SELECT * FROM site2 WHERE category='$complaint'" AND dte='$dte'")

但你应该使用PDO

答案 2 :(得分:0)

$queryString ='';
$complaint = "";
if (isset($_POST['complaint'])) {
    $complaint = $_POST['complaint'];
    $queryString = "where category='$complaint'";
}

$dte = "";
if (isset($_POST['date'])) {
    $dte = $_POST['date'];
    if($queryString==""){
$queryString = "where dte='$dte'";
}else{
$queryString .= "and dte='$dte'";
}



mysql_connect("localhost", "root", "") or die("couldnt attack ");
mysql_select_db("site")or die('i surrender');
$query = ("SELECT * FROM site2 $queryString") or die("couldnt select");
相关问题