使用PHP将记录有条件地插入MYSQL表

使用PHP将记录有条件地插入MYSQL表,php,mysql,Php,Mysql,我使用PHP和MYSQL设置了一个表单,用于将记录插入表中。有两个字段负责捕获日期时间,我将使用它们来表示时间跨度。以下是我用来插入记录的代码: if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) { $insertSQL = sprintf("INSERT INTO song_of_the_day (id, station, song_title, artist, start_d

我使用PHP和MYSQL设置了一个表单,用于将记录插入表中。有两个字段负责捕获日期时间,我将使用它们来表示时间跨度。以下是我用来插入记录的代码:

    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO song_of_the_day (id, station, song_title, artist, start_date, end_date, start_listenhour, end_listenhour) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['id'], "int"),
                       GetSQLValueString($_POST['station'], "text"),
                       GetSQLValueString($_POST['song_title'], "text"),
                       GetSQLValueString($_POST['artist'], "text"),
                       GetSQLValueString(date("Y-m-d H:i:s", strtotime($_POST['startDay'] . $_POST['start-hour'] . ':' . $_POST['start-minute'] . $_POST['start-meridian'])), "date"),
                       GetSQLValueString(date("Y-m-d H:i:s", strtotime($_POST['endDay'] . $_POST['end-hour'] . ':' . $_POST['end-minute'] . $_POST['end-meridian'])), "date"),
                       GetSQLValueString(date("H:i:s", strtotime($_POST['start_listenhour-hour'] . ':' . $_POST['start_listenhour-minute'] . $_POST['start_listenhour-meridian'])), "date"),
                       GetSQLValueString(date("H:i:s", strtotime($_POST['end_listenhour-hour'] . ':' . $_POST['end_listenhour-minute'] . $_POST['end_listenhour-meridian'])), "date"));

  mysql_select_db($database_mysqlconnect, $mysqlconnect);
  $Result1 = mysql_query($insertSQL, $mysqlconnect) or die(mysql_error());

  $insertGoTo = "manage.php?mess=3";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

mysql_select_db($database_mysqlconnect, $mysqlconnect);
$query_Recordset1 = "SELECT * FROM song_of_the_day";
$Recordset1 = mysql_query($query_Recordset1, $mysqlconnect) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

如果我有一个在时间跨度内的条目,我会考虑重复输入,并希望表单插入或替换。我希望将以下内容纳入我的应用程序中,但我仍无法确定下一步要做什么:

    $get_startdate = GetSQLValueString(date("Y-m-d H:i:s", strtotime($_POST['startDay'] . $_POST['start-hour'] . ':' . $_POST['start-minute'] . $_POST['start-meridian'])), "date");
    $get_enddate = GetSQLValueString(date("Y-m-d H:i:s", strtotime($_POST['endDay'] . $_POST['end-hour'] . ':' . $_POST['end-minute'] . $_POST['end-meridian'])), "date");
    $get_station = GetSQLValueString($_POST['station'], "text");
    $query = "SELECT * FROM song_of_the_day WHERE station = '$get_station' start_date <= CURDATE() AND end_date >= '$get_enddate'";
    $result = mysql_query($query) or die(mysql_error());
    $num_rows = mysql_num_rows($result);
    $row = mysql_fetch_array( $result );
    if(mysql_num_rows($result) > 0)
    {
    $get_id = $row['id'];
    $warning = 'onClick="Warning! An entry is already scheduled to display during this time span. Do you want to overwrite the entry?"';
    }
    else{
    $warning = null;
    }
$get\u startdate=GetSQLValueString(日期(“Y-m-d H:i:s”),strotTime($\u POST['startDay']。$\u POST['start-hour']。:'。$\u POST['start-minute']。$\u POST['start-meridian']),“日期”);
$get_-enddate=GetSQLValueString(日期(“Y-m-d H:i:s”),标准时间($发布['endDay']。$发布['end-hour']。:'。$发布['end-minute'].$发布['end-meridian']),“日期”);
$get_station=GetSQLValueString($_POST['station'],“text”);
$query=“选择*从电台所在日期的歌曲中=”$get\U电台“开始日期=”$get\U结束日期“;
$result=mysql\u query($query)或die(mysql\u error());
$num\u rows=mysql\u num\u rows($result);
$row=mysql\u fetch\u数组($result);
如果(mysql_num_rows($result)>0)
{
$get_id=$row['id'];
$warning='onClick=“warning!已计划在此时间跨度内显示一个条目。是否覆盖该条目?”;
}
否则{
$warning=null;
}

我如何在这里将后一种代码与原始代码合并,以实现表单的条件插入/替换

警告:如果你只是在学习PHP,请不要学习过时的界面。这很糟糕,已经在PHP7中删除了。替换类和指南类有助于解释最佳实践。请确保您的用户参数是正确的,否则将导致严重后果。这是Dreamweaver生成的代码吗?如果是这样,停止使用它喷出的垃圾。它已经过时了。你可以使用任何你想要的PHP数据库层,你不会被困在使用
GetSQLValueString
胡说八道中。你对我的情况的假设再准确不过了。我只是没有时间一章一章地学习PHP,所以我总是发现自己只是在尝试如何结合教程和内置Dreamweaver向导来做一些事情。这不是一个非常有效的方法。谢谢你的建议!如果你想做大量的PHP开发工作,我强烈建议你看看今天提供的各种PHP开发工具。它们为构建应用程序提供了比核心PHP库更好的基础。是一个特别好的例子,它有很好的文档记录,它有很多有用的例子,并且有很多可以引导您了解基础知识。Laravel提供了一个非常简单的方法来实现这一点。警告:如果您只是学习PHP,请不要学习过时的接口。这很糟糕,已经在PHP7中删除了。替换类和指南类有助于解释最佳实践。请确保您的用户参数是正确的,否则将导致严重后果。这是Dreamweaver生成的代码吗?如果是这样,停止使用它喷出的垃圾。它已经过时了。你可以使用任何你想要的PHP数据库层,你不会被困在使用
GetSQLValueString
胡说八道中。你对我的情况的假设再准确不过了。我只是没有时间一章一章地学习PHP,所以我总是发现自己只是在尝试如何结合教程和内置Dreamweaver向导来做一些事情。这不是一个非常有效的方法。谢谢你的建议!如果你想做大量的PHP开发工作,我强烈建议你看看今天提供的各种PHP开发工具。它们为构建应用程序提供了比核心PHP库更好的基础。是一个特别好的例子,它有很好的文档记录,它有很多有用的例子,还有很多可以引导你了解基本知识。Laravel提供了一个非常简单的方法来实现这一点。