Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果一个变量已更改,如何替换记录?_Php_Mysql - Fatal编程技术网

Php 如果一个变量已更改,如何替换记录?

Php 如果一个变量已更改,如何替换记录?,php,mysql,Php,Mysql,我正在获取一个带有PHP文件的日历提要,我需要将它与我的数据库进行比较。如果$lastEdit变量与数据库中的变量不同,我需要更改记录。我对SQL真的很陌生,所以我不知道该怎么办。我只是将Date\u编辑后设置为VARCHAR,所以我只需要比较字符串。我有这个: $query = "SELECT * FROM myTable WHERE Event_ID='$id'"; $result = mysql_query($query); if (!mysql_num_rows($re

我正在获取一个带有PHP文件的日历提要,我需要将它与我的数据库进行比较。如果
$lastEdit
变量与数据库中的变量不同,我需要更改记录。我对SQL真的很陌生,所以我不知道该怎么办。我只是将
Date\u编辑后设置为VARCHAR,所以我只需要比较字符串。我有这个:

  $query = "SELECT * FROM  myTable  WHERE Event_ID='$id'";
  $result = mysql_query($query);

  if (!mysql_num_rows($result)) {
     mysql_query("INSERT INTO myTable (Event_ID, Date_added, Date_edited, Title)
     VALUES ('$id', '$dateAdded', '$lastEdited', '$title')");
  }

如何将
$lastEdit
Date\u edited
进行比较,如果它们不同,如何更改行?

您可能需要使用该语句。

您需要执行以下操作

$row = mysql_fetch_array($result, MYSQL_ASSOC);

if($lastEdited != $row['Date_added']){
   # run update query
     mysql_query("update myTable set 
         // here insert all update fields you need like
        Date_added = '$dateAdded', Date_edited = '$lastEdited' ,  Title = '$title'
        WHERE Event_ID='$id' ");

}

您想比较$lastEdited到Date\u Edited还是Date\u ADEDDATE\u Edited…oops编辑了错误,但我建议您使用时间戳来存储日期,而不是VARCHAR。我同意。:)我把它换成了时间戳。还是不确定我做错了什么。我似乎遇到了一个错误,一个变量正在转入下一行并更改其他行的标题。你能发布你使用的查询和你得到的错误吗。嗯。我好像没法让它工作。(顺便说一句,我在上面犯了一个错误——我想比较$lastdedited和Date_edited),但我仍然无法让它对我起作用。你想把这个放在我上面的另一个条件的正下方吗?啊,终于找到了。非常感谢!