如何sql更新两个条件

时间:2014-08-31 21:38:32

标签: php mysql sql

条件问题'其中' 我想在这段代码中再添加一个条件:

$sql="UPDATE
            coursegrade
        SET 

            FirstExam='" . mysql_real_escape_string($_POST['FirstExam']) . "',
            SecondExam='" . mysql_real_escape_string($_POST['SecondExam']) . "',
            ThirdExam='" . mysql_real_escape_string($_POST['ThirdExam']) . "',
            Assignments='" . mysql_real_escape_string($_POST['Assignments']) . "',
            FinalExam='" . mysql_real_escape_string($_POST['FinalExam']) . "'
        WHERE 
            SID=" . mysql_real_escape_string($_POST['SID'])  ;

现在告诉我没问题..但问题是我不知道如何设置第二个条件。

CourseID=" . mysql_real_escape_string($_POST['CourseID'])

我希望条件类似......

WHERE
SID=" . mysql_real_escape_string($_POST['SID']) 
AND CourseID=" . mysql_real_escape_string($_POST['CourseID'])

我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

除非你使用heredoc语法,否则php会在一行上解析字符串。

即呈现的子句是:

"WHERE SID=19AND CourseID=45"

基本上你错过了一个空格

"AND CourseID=" . mysql_real_escape_string($_POST['CourseID'])

或者您可以在值

周围加上引号
"SID='" . mysql_real_escape_string($_POST['SID']) . "'
AND CourseID='" . mysql_real_escape_string($_POST['CourseID'])."'"

答案 1 :(得分:0)

这可能有所帮助

WHERE
SID=" . mysql_real_escape_string($_POST['SID']) 
OR CourseID=" . mysql_real_escape_string($_POST['CourseID'])

WHERE
SID in (
  mysql_real_escape_string($_POST['SID']),
  mysql_real_escape_string($_POST['CourseID'])
)

它将适用于SID和CourseID的INT值

答案 2 :(得分:0)

您可以试试这个,如果有错误消息,请告诉我

$sql="UPDATE coursegrade
SET 
        FirstExam = '" . mysql_real_escape_string($_POST[' FirstExam ']) . "',
        SecondExam = '" . mysql_real_escape_string($_POST[' SecondExam ']) . "',
        ThirdExam = '" . mysql_real_escape_string($_POST[' ThirdExam ']) . "',
        Assignments = '" . mysql_real_escape_string($_POST[' Assignments ']) . "',
        FinalExam = '" . mysql_real_escape_string($_POST[' FinalExam ']) . "'
WHERE
        SID = ". mysql_real_escape_string($_POST['SID'])."
AND
        CourseID = " . mysql_real_escape_string($_POST['CourseID']) .";