包含数字的PHP插入语句是错误的

时间:2012-04-30 06:12:40

标签: php mysql

我有这样的陈述:

   $query="INSERT INTO error_report(task_id,url_is_route, forbidden_word, google_host_fail, google_cache_fail, google_title_fail, google_element_fail, robots_noindex_nofollow, xrobots_noindex_nofollow, title_fetch_warn, h1_fail,h2_fail,h3_fail ,h1_warn ,h2_warn, h3_warn)
         VALUES (".$this->task_id.",0,0,0,0,0,0,0,0,0,0,0,0,0,0)";   


mysql_query($query) or die(mysql_error()); 

我明白了:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   在第2行附近'0,0,0,0,0,0,0,0,0,0,0,0,0,0)'

问题出在哪里?

更新

$query="INSERT INTO error_report(task_id,url_is_route, forbidden_word, google_host_fail, google_cache_fail, google_title_fail, robots_noindex_nofollow, xrobots_noindex_nofollow, title_fetch_warn, h1_fail,h2_fail,h3_fail ,h1_warn ,h2_warn, h3_warn)
             VALUES ('".$this->task_id."','0','0','0','0','0','0','0','0','0','0','0','0','0','0')"; 

现在我明白了:

  

错误的整数值:''第1行的'task_id'列

4 个答案:

答案 0 :(得分:2)

如何将字段的默认值设置为 0 并执行:


$query="INSERT INTO error_report(task_id) VALUES (".$this->task_id.")";   

答案 1 :(得分:2)

  1. 使用引号
  2. 您正尝试更新16列,但只输入15个值。纠正这一点。

答案 2 :(得分:2)

  

错误的整数值:''第1行的'task_id'列

$this->task_id为空,并且您怀疑不包含116.

答案 3 :(得分:1)

检查这些

  1. $ this-> task_id包含值,而不是空
  2. $ this-> task_id中包含整数值或任何字符。一世 认为该列是int,所以如果它包含非整数值,则会抛出错误