1

我正在尝试将 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 语句时,所有变量都打印得很好,但是当我处理查询时,它不会进入数据库。奇怪的是,如果我去掉 $from 和 $to 并输入 $day ,它就会输入日期。当我放回 $from 和 $to 时,什么都没有输入。

你看到这段代码有什么问题吗?$from 和 $to 的数据类型是军用时间格式 2100、1300 等的整数。

4

2 回答 2

7

您正在使用fromandto作为保留关键字`的列名,请在查询中使用反引号将它们转义

$query = "INSERT INTO availability (username, login_value, day, `from`, `to`) VALUES ('".$_SESSION['username']."', '".$_SESSION['login_value']."', '$day', '$from', '$to')";
于 2012-12-06T20:13:18.367 回答
0

你不能使用fromor to,那些是保留字。

于 2012-12-06T20:16:52.853 回答