我正在尝试将5个变量输入MySQL数据库。这是代码:
foreach ($avail_t as $row) {
$ava = explode("+",$row);
$day = $ava[0];
$from = $ava[1];
$to = $ava[2];
//echo $day." ".$from." ".$to;
$query = "INSERT INTO availability (username, login_value, day, from, to) VALUES ('{$_SESSION['username']}', '{$_SESSION['login_value']}', '{$day}', '{$from}', '{$to}')";
mysql_query($query);
}
当我取消注释那个echo语句时,所有变量都打印出来就好了,但是当我处理查询时它不会进入数据库。奇怪的是,如果我从$和$中减去$并且只输入$ day,它将进入当天。当我退回$和$ to to nothing时,
您是否发现此代码存在任何问题?对于$ from和$ to,数据类型在军事时间格式2100,1300等中是整数。
答案 0 :(得分:7)
您使用from
和to
作为reserved keywords的列名称,在查询中使用反引号`
转义它们
$query = "INSERT INTO availability (username, login_value, day, `from`, `to`) VALUES ('".$_SESSION['username']."', '".$_SESSION['login_value']."', '$day', '$from', '$to')";
答案 1 :(得分:0)
您无法使用from
或to
,这些是保留字。