我使用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的快照。
答案 0 :(得分:0)
试试这个:
<?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 = mysql_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");
}
?>
答案 1 :(得分:0)
日期应该不是问题。由于您要插入当前日期这一事实,我建议使用UTC_TIMESTAMP()
这对于收集中性时区数据非常有用,例如,如果您的用户位于全球范围内,则不要使用本地服务器次问题。
第二,避免使用这样一个旧的,已弃用且不安全的语句,使用PDO
来保护你免受SQL INJECTION
的严重攻击。
$insert=$db->prepare("insert into yourtable values (?, ?);");
$insert->execute(array($customerid, $date));
不知道您的表格设计或schema
,但我建议在插入所有数据后插入时间戳作为验证,安全元素。
答案 2 :(得分:0)
您是否在Type
中将{Date}行的TIMESTAMP
设置为PHPMyAdmin
?您的代码似乎是正确的。