【发布时间】:2014-01-30 01:25:42
【问题描述】:
我不断收到SQL Error: 1036 - illegal variable name/number,但我不知道为什么。
数据库具有以下所有字段,拼写完全相同,表单输入也是如此。我尝试将它们一一删除以查找哪个是“非法变量”,但它似乎不喜欢它们中的任何一个。
case 'DATABASE':
$args[] = array('database_work_location', $in['database_work_location']);
$args[] = array('previous_work_point', $in['previous_work_point']);
$args[] = array('requested_due_date', $in['requested_due_date']);
$args[] = array('unit_request', $in['unit_request']);
$args[] = array('primary_purpose_descr', $in['primary_purpose_descr']);
$DB->query("
INSERT INTO request_database
(
database_work_location
,previous_work_point
,requested_due_date
,unit_request
,primary_purpose_descr
)
VALUES (
:database_work_location
,:previous_work_point
,TO_DATE(:requested_due_date, 'MM-DD-YYYY')
,:unit_request
,:primary_purpose_descr
)
"
,$args
);
break;
【问题讨论】:
-
下面的问题解决了@navlag 吗?
-
@AlexPoole,我在上面的问题描述中添加了缺少的代码。如果您看到任何有趣的事情,请告诉我。谢谢。
-
我对PHP不是很熟悉,但是如果你想使用绑定变量,你不需要解析语句吗?看起来它可能试图将
:unit_request视为名称而不是绑定,但不确定。看起来您正在用每个作业替换$args,但又不确定。