2012-07-20 78 views
1

我正试图将数据存储到数据库中。如果我用下面的代码无法在数据库中存储日期

$sql="INSERT INTO rohit(content,tags,uniquefield,required) 
     VALUES('$l','$y','$z','$t')"; 
if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 

它正在运行,但是当我再增加一个字段,则它给错误检查MySQL的句法

$sql="INSERT INTO rohit(content,tags,uniquefield,required,numeric) 
     VALUES('$l','$y','$z','$t','$n')"; 
if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 

我已经在数据库中定义的所有字段。什么可能是可能的错误

+1

什么是错误信息? – 2012-07-20 14:00:16

回答

4

numeric是保留字。将其放置在抽动逃脱它:

$sql="INSERT INTO rohit(content,tags,uniquefield,required,`numeric`)VALUES('$l','$y','$z','$t','$n')"; 
+4

或者更好的是,不要使用保留字作为列名 – DaveRlz 2012-07-20 14:03:49

1

因为你试图将一个字符串值添加到数字领域,我想这是列的类型不是字符串,因为这个名字的

+0

投票赞成不错的推理。 – Smandoli 2012-07-20 14:25:56

+0

No:'创建临时表foo(bar int);'后面插入foo(bar)值('42');'工作得很好,MySQL会将字符串转换为数字,只要它只包含数字。 – MvG 2012-07-22 21:21:10