【发布时间】:2013-12-24 14:59:39
【问题描述】:
我有一个表用户(id VARCHAR(5),名称 VARCHAR(30))
我以两种方式使用 INSERT INTO 查询:
1) 直接:
...
$sql="INSERT INTO user (id,name) VALUES ('00001','abcd');
...
---> 结果:id(00001), name(abcd).
这是正确的结果。
2) 按功能:
function insert($id,$name)
{
$sql="INSERT INTO user (id,name) VALUES ($id,$name)";
....
}
我使用这个函数有两种参数 一)
insert('00001','00123');
---> 结果:id(1), name(123)(所有的零都被删掉了)。
b)
insert('00001','abcd');
--->错误:Unknown column 'abcd' in 'field list'.
我想问:为什么所有的零都被剪掉了,为什么当我使用字符串值时会出错。如何修复它以按功能获得正确的结果。 非常感谢!
【问题讨论】:
-
除了手头的问题.. 为什么要使用 varchar 作为 ID 列?为什么不只使用整数、自动增量?然后你也不必担心重复。
-
您必须在查询中使用单引号 (')... $sql="INSERT INTO user (id,name) VALUES ('$id', '$name')";