0

我在同一个网页上有两个功能,每个功能都会根据您按下的按钮更新同一数据库上的一个不同表。

此函数修改一个表并起作用:

function SaveMItem()
    {
    $DayOfWeekNumber = 0;
        if ($_POST['selDayOfTheWeek'])
        {$DayOfWeekNumber = $_POST['selDayOfTheWeek'];}

        mysql_query("UPDATE tblMItem SET ItemText = '" . $_POST['txtFirstOne'] . "' WHERE MenuItemID = " . (1 + $DayOfWeekNumber));
            echo "SaveMItem Ok";
    }

function SavetblAnnouncement(){

    mysql_query("UPDATE TblAnuncios SET Title=".$_POST['txtAnnouncementTitle']. ",Content=".$_POST['txtAnnouncementContent']." WHERE 1");

    echo "Completed announcement" ;  
    }

当我按下 SaveMItem 按钮时,我可以看到消息 SaveMItem Ok 并将新值保存在表中。

当我按下 SavetblAnnouncement 按钮时,我可以看到消息已完成公告,但表 TblAnuncios 不会得到更新。

因为这是在同一个文件上,所以数据库是相同的,并且 SaveMItem 函数能够更新表我想与数据库的连接是好的。

谁能让我知道我做错了什么?

提前致谢。

4

1 回答 1

1

您缺少围绕值的引号。

    $title = mysql_real_escape_string($_POST['txtAnnouncementTitle']);
    $txt = mysql_real_escape_string($_POST['txtAnnouncementContent']);
    mysql_query("UPDATE TblAnuncios SET Title='".$title. "',Content='".$txt."' WHERE 1");

您还应该转义字符串,以防止 SQL 注入以及在标题或文本包含引号字符时使查询正确。

于 2013-07-07T18:06:44.693 回答