我有一个用于mysql数据库的php INSERT
,我有一个字符串,比如“添加”该值,而不是只是将其插入到mysql表中。当我只是回显我得到的值'2012-03'
这是一个到期日期,我必须以这种方式格式化。但是在数据库中它显示'2009'
,因此它会计算它。我究竟做错了什么?
<?php
$Last4CCN = $_POST['CCN'];
$expiration = $_POST['EXPDATE'];
if (!isset($_SESSION)) {
session_start();
}
if (!$conn) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("testing1", $conn);
$last4CCN = mysql_real_escape_string($last4CCN);
$expiration = mysql_real_escape_string($expiration);
$query1 = "
INSERT INTO payment_profile_id (Last4CCN, CCNExpDate)
VALUES ($Last4CCN, $expiration)";
if(mysql_query($query1,$conn))
echo "Update profile_id successfully inserted.<br/>";
else
echo "Update profile_id encountered an error.".mysql_error();
mysql_close($conn)
//$expiration = mysql_real_escape_string($expiration);
//echo $expiration;
?>
对于expdate
,MySQL值也是varchar(7)答案 0 :(得分:3)
尝试在日期字符串周围加上引号。您似乎将值插入为整数,因此mysql认为它是数学表达式而不是字符串'2012-03'
。
INSERT INTO payment_profile_id (Last4CCN, CCNExpDate)
VALUES ($Last4CCN, '$expiration')
答案 1 :(得分:0)
您可能必须将MySQL类型设置为“date”http://dev.mysql.com/doc/refman/5.1/en/datetime.html
类型