0

我有这样的声明:

   $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

4 回答 4

2
  1. 使用引号
  2. 您正在尝试更新 16 列但仅输入 15 个值。纠正那个。
于 2012-04-30T06:20:47.287 回答
2

不正确的整数值:第 1 行的列 'task_id' 的 ''

$this->task_id是空的,并且不包含您怀疑的 116。

于 2012-04-30T06:29:54.877 回答
1

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


$query="INSERT INTO error_report(task_id) VALUES (".$this->task_id.")";   
于 2012-04-30T06:16:23.493 回答
1

检查这些

  1. $this->task_id 包含值而不是空的
  2. $this->task_id 中有一个整数值或任何字符。我认为该列是 int,因此如果它包含非整数值,则会引发错误
于 2012-04-30T06:29:47.343 回答