php - INSERT mySQL DATE 无法使用 PHP 运行

标签 php mysql date insert phpmyadmin

我使用 PHPMyAdmin 创建了一个新表,但我在使用 PHP 插入 DATE 时遇到了问题。用于故障排除的非常简单的代码和表格。

<?php
session_start();

if (isset ($_SESSION['valid_user']))
{
    require ("PHP/header.php");
    require ("PHP/leftmenub.php");
    require ("PHP/bodya.php");

//create variables from hidden POST DATA
    $customerid = $_POST['customerid'];
    $requestdate = date('Y-m-d');

    @ $db = mysql_connect('localhost', '', '');
    if (!$db)
    {
        echo '<br><br><br><br>';
        echo 'Error: Could not connect to database.  Please try again later.';
    }

    mysql_select_db('kitorders');
    $query = "INSERT INTO ECLIPSE "."(requestdate,customerid)"." VALUES "."  ('$requestdate','$customerid')";
    if (!$query)
    {
        echo '<br>';
        echo 'Error: Could not insert to database.  Please try again.';
        require ("PHP/bodyb.php");
        require ("PHP/footer.php");
        exit;
    }

    require ("PHP/bodyb.php");
    require ("PHP/footer.php");
}

else
{
    echo "Thank you $FirstName, unfortunately there was a problem submitting the form.";
    require ("PHP/bodyb.php");
    require ("PHP/footer.php");
}
?>

我基本上想在插入其余数据时插入日期。为了故障排除,我已从表和 INSERT 中删除了其他项目。我没有收到错误,它的作用是接受了查询,但没有插入数据。如果我删除 DATE,则会插入其他数据。我尝试使用 DATE(Y-m-d)(Y,m,d) 来定义 $requestdate,但没有任何效果。我正在使用 PHPMyAdmin 创建 MySQL。我尝试了 3 个不同的表,创建 DATE 无济于事。我将尝试附上 PHPMyAdmin 的快照。

最佳答案

日期应该不是问题。由于您想插入当前日期这一事实,我建议使用 UTC_TIMESTAMP() 这对于收集中性时区数据很有用,比如说如果您的用户位于世界各地,则您不需要不会搞乱本地服务器时间问题。
其次,避免使用这种陈旧的、已弃用的和不安全的语句,使用 PDO,它可以保护您免受 SQL INJECTION 的影响,这是一个严重的线程。

$insert=$db->prepare("insert into yourtable values (?, ?);");
$insert->execute(array($customerid, $date));

不知道您的表设计或架构,但我建议在插入所有数据后在末尾插入一个时间戳作为验证、安全元素。

关于php - INSERT mySQL DATE 无法使用 PHP 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21175348/

相关文章:

php - 如何在 PHP 中执行 Redis 事务?

php - 我应该为 friend 列表选择什么类型的 mySQL 数据?

mysql - 查询未添加行

eclipse - Birt Report 同一字段的多个参数

java - 在java中格式化包含日期的字符串时出现问题

java - 使 SimpleDateFormat.parse() 在无效日期上失败(例如,月份大于 12)

php - 即使使用 DISTINCT,SQL SELECT 查询也会回显两次

php - 如何访问 yii2 关系映射表字段

php - mySQL:加入三个表 - 如何?

mysql - 如何处理MySQL中的意外关闭以确保数据库一致性?