我尝试更新上传的文件,但直到现在
我收到了错误消息" erorr number 1064"。
这是我的模特
public function update_tool_document($context, $data ){
$header = "";
for($i=1;$i<=10;$i++){
$header .= ", doc_title_" . $i. " = '" . $data['doc']['title'][$i-1] . "'";
$header .= ", doc_display_" . $i. " = '" . $data['doc']['show'][$i-1] . "'";
$header .=", link_to_doc_file_" . $i. " = '".(($data['doc']['link'][$i-1] != "")?"'".$data['doc']['link'][$i-1]."'":"link_to_doc_file_".$i)."'";
}
$query = "UPDATE ms_tool_type_document SET $header
WHERE tool_code = '".$data['tool_code']."'";
$table = $context->db->query($query);
return $table;
}
link_to_doc_file有什么问题。 erorr结果是这样的: 错误号码:1064
您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册,以获得正确的语法,以便在&#39;附近使用。 doc_title_1 =&#39; Tesst&#39;,doc_display_1 =&#39;&#39;,link_to_doc_file_1 =&#39;&#39; material / tuto&#39;在第1行
UPDATE ms_tool_type_document SET , doc_title_1 = 'Tesst', doc_display_1 = '', link_to_doc_file_1 = ''material/tutorial-prestashop.pdf'', doc_title_2 = 'hahaha', doc_display_2 = '', link_to_doc_file_2 = ''material/201512101342_INVOICE-NKOPP.pdf'', doc_title_3 = '', doc_display_3 = '', link_to_doc_file_3 = 'link_to_doc_file_3', doc_title_4 = '', doc_display_4 = '', link_to_doc_file_4 = 'link_to_doc_file_4', doc_title_5 = '', doc_display_5 = '', link_to_doc_file_5 = 'link_to_doc_file_5', doc_title_6 = '', doc_display_6 = '', link_to_doc_file_6 = 'link_to_doc_file_6', doc_title_7 = '', doc_display_7 = '', link_to_doc_file_7 = 'link_to_doc_file_7', doc_title_8 = '', doc_display_8 = '', link_to_doc_file_8 = 'link_to_doc_file_8', doc_title_9 = '', doc_display_9 = '', link_to_doc_file_9 = 'link_to_doc_file_9', doc_title_10 = '', doc_display_10 = '', link_to_doc_file_10 = 'link_to_doc_file_10' WHERE tool_code = 'T00005'
文件名:C:\ xampp \ htdocs \ lalalala \ system \ database \ DB_driver.php
Line Number: 331
答案 0 :(得分:1)
您可以使用活动记录编写更新查询
$this->db->set('link_to_doc_file',$header);
$this->db->where('tool_code',$data['tool_code']);
$this->db->update('ms_tool_type_document');
确保将列设置为text
以接受如此庞大的字符串
答案 1 :(得分:0)
查询中存在问题:
$query = "UPDATE ms_tool_type_document SET '".$header."'
WHERE tool_code = '".$data['tool_code']."'";
希望这会奏效!