如何在这一行中使用NOW()

时间:2018-03-18 17:57:33

标签: php mysql

希望你没事......首先,我想说英语不是我的第一语言,所以我会尝试解释我的问题。

我有一个电视节目字幕的网站,现在我在网上添加一个新变量,我可以选择上传字幕的选项,它将被隐藏(我的索引上不可见)。

所以,我有所有变量和其他程序。

当我试图将变量按照数据库中的相同顺序放置时,我无法使其工作:

例如。

如果我使用:

$query = "INSERT INTO fversions(subID,fversion,author,versionDesc,comment,hidden,indate) " .
 "VALUES(" . $subID . "," . $fversion . "," . $userID .
   ",'" . $fversions . "','" . $comment . "','" . $hidden . "',NOW())";
     mysql_query($query);

<

它的工作......在我的数据库中是这样的," indate"之前是隐藏" ...它是否存在然后被隐藏,因为它是新行。

所以,我试图按顺序排列这些值,但我无法使其正常工作。

 $query = "INSERT INTO fversions(subID,fversion,author,versionDesc,comment,indate,hidden) " .
"VALUES(" . $subID . "," . $fversion . "," . $userID . ",'" . $version . "','" . $comment . ",NOW(),'" . $hidden;
                   mysql_query($query);

如果我把indate然后隐藏(只是为了让所有东西都按顺序排列),它就不起作用,因为我不知道如何写这条线...

我不是开发者,我失去了我的,所以我努力做到最好,而且我不知道如何编写值NOW()和$ hidden以便它可以工作。

NOW()是indate的值,即小时(实际时间)。

有人能写我怎么写这句话:

  "VALUES(" . $subID . "," . $fversion . "," .
       $userID . ",'" . $version . "','" . $comment . ",NOW(),'" . $hidden;

所以它可以工作吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

基于最后一个问题和代码。

你想要尽快从mysql迁移到mysqli。如果你更新你的php版本,前者将被弃用。

假设除$ version和$ comment之外的所有php变量都是整数/浮点数:

VALUES(" . $subID . ", " . $fversion . ", " .
   $userID . ", '" . $version . "', '" . $comment . "', NOW(), " . $hidden . ")"

您可以使用sprintf()进行改进:

sprintf("VALUES(%d, %d, %d, '%s', '%s', NOW(), %d)", [
    $subID, $fversion, $userID, $version, $comment, $hidden
]

您可以使用mysqli_real_escape_string进一步改进:

sprintf("VALUES(%d, %d, %d, '%s', '%s', NOW(), %d)", [
    (int)$subID,
    (int)$fversion,
    (int)$userID,
    mysqli_real_escape_string($dbLink, $version),
    mysqli_real_escape_string($dbLink, $comment),
    (int)$hidden
]