-1

我对 php 并不陌生,但面临一个非常基本的问题,但不知道如何克服它。我有一个评论表,其中的字段是名称、电子邮件、评论、日期和时间。现在我想做的是在各自的字段中插入系统日期和时间,但它只输入时间而不是日期。字段日期的类型是日期,时间的类型是时间。这是我的查询

 $insert = 'insert into tbl_comment 
      (name, email, desc, date, time)
      VALUES 
 ("'.$_POST['name'].'","'.$_POST['email'].'","'.$_POST['comment'].'"
 ,CURDATE(),"CURTIME()",CURTIME())';   
      mysql_query($insert);
 }

请帮帮我

4

1 回答 1

0

您的代码容易受到 SQL 注入的攻击。立即解决此问题!

//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
    $str = @trim($str);
    if(get_magic_quotes_gpc()) {
        $str = stripslashes($str);
    }
    return mysql_real_escape_string($str);
}

$myName = clean($_POST['name']);
$myEmail = clean($_POST['email']);
$myDesc = clean($_POST['comment']);
$insert = "insert into tbl_comment 
           (name, email, desc, `date`, `time`)
           VALUES 
           ('$myName','$myEmail','$myDesc',CURDATE(),CURTIME())";   
mysql_query($insert);

如果您有数据和时间作为字段名称,请使用反引号,因为它们是保留关键字。

另请阅读,如何在 PHP/MySQL 中插入数据

于 2012-06-27T11:11:22.677 回答