-3

我将值插入到我的 MySQL 表php中:

$journey = $_POST['way'];
$from = $_POST['from'];
$to = $_POST['to'];
$dpdt = $_POST['dp_date'];
$rtdt = $_POST['rt_date'];
$fare = $_POST['fare'];
$sql = "insert into tours set " .
        "journey='$journey', from='$from', to='$to', dp_date=CAST('$dpdt' AS DATE), " .
        "rt_date=CAST('$rtdt' AS DATE), fare='$fare'";

在尝试echo时,$sql我得到的输出为:

insert into tours set journey='round', from='Aurangabad', to='Kashmir', dp_date=CAST('27-08-2013' AS DATE), rt_date=CAST('21-08-2013' AS DATE), fare='2500'

但我不断收到相同的错误消息:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from=Aurangabad, to='Kashmir', dp_date=CAST('27-08-2013' AS DATE), rt_date=CAST(' at line 1

即使我尝试删除'列名的值。
我使用相同的语法来插入数据,并且工作正常。
这有什么问题?
为什么 MySQL 没有为这种可怕的错误提供适当的错误?

4

4 回答 4

8
`from`='$from', `to`='$to'

FROM是保留字在它周围使用反引号。

于 2013-08-19T12:48:27.503 回答
3

FROM是保留关键字,您不应该使用它。参考这里

于 2013-08-19T12:50:58.093 回答
2

'from' 和 'to' 是保留词

尝试这样做

[from] = 'Aurangabad', [to] ='Kashmir'
于 2013-08-19T12:48:42.073 回答
2

FROM是一个 SQL 关键字。您不能使用没有分隔符的列名。

于 2013-08-19T12:48:46.420 回答