INSERT批处理,如果重复的键在codeigniter中更新
是否有任何方法在批处理插入查询中进行执行,如果密钥已经存在,请在CodeIgniter中更新该行? 我已经浏览了文档,仅找到insert_batch和update_batch.但是,如何在Active Records中使用重复键更新行?如果一排未能在batch_insert中插入或更新,会发生什么?所有插入都会失败或仅此行? 解决方案 您必须通过添加"重复"语句 来进行很少的自定义查询. $sql = $this->db->insert_string('YourTable', $data) . ' ON DUPLICATE KEY UPDATE duplicate=duplicate+1'; $this->db->query($sql); $id = $this->db->insert_id(); 另外,请 a>,它将为您提供更好的解决方案 其他解决方案 对于CodeIgniter 3,您可以使用此库.这使您能够提供一组键值对的数组,可以插入单独的行中,如果DB中
0 2024-04-05
编程技术问答社区
如何使用CodeIgniter框架从数组中插入多行?
我使用插入命令将大型数据集通过PHP传递到MySQL表中,我想知道是否可以通过查询一次插入大约1000行,除了在英里末端附加每个值以外长字符串,然后执行.我正在使用Codeigniter框架,因此它的功能也可以使用. 解决方案 在mysql中组装一个INSERT语句要比每行INSERT语句要快得多. 也就是说,听起来您可能正在遇到PHP中的字符串处理问题,这实际上是一个算法问题,而不是一种语言问题.基本上,在使用大字符串时,您想最大程度地减少不必要的复制.主要是,这意味着您要避免串联.构建大字符串的最快,最有效的方法,例如以一个行插入数百行,是利用implode()函数和数组分配. $sql = array(); foreach( $data as $row ) { $sql[] = '("'.mysql_real_escape_string($row['text']).'", '.$row['category_id'].')'; } mysql_query
2 2024-04-05
编程技术问答社区
如何避免CodeIgniter中的SQL注入?
是否可以在配置文件中设置任何方法以避免SQL注入?我正在使用此代码选择值: $this->db->query("SELECT * FROM tablename WHERE var='$val1'"); 这用于插入值: $this->db->query("INSERT INTO tablename (`var1`,`var2`) VALUES ('$val1','$val2')"); 另一种用于从数据库中插入和选择值的方法是CodeIgniter的insert()和get()方法.使用Codeigniter的Bulit-In功能时,是否有机会进行SQL注入 解决方案 Codeigniter的活动记录预防SQL注入. $this->db->select('*')->from('tablename')->where('var', $val1); $this->db->get(); 或 $this->db->insert('tablename', a
0 2024-04-05
编程技术问答社区
使用CodeIgniter的动态表单生成器
我打算用 为不同形式布局构建动态形式 在 我想使用CodeIgniter PHP框架进行此操作.构建器的前端部分如此链接. 后端部分一些问题 我想将其保存在数据库中的一个创建的表单布局,并使用此构建器构建.这已经完成 当我想使用此保存的表单布局时,会发生很多问题. 2.1我如何控制codeigniter中的形式元素,例如表单验证,因为所有表单元素名称都动态创建 2.2如何将此动态值存储在数据库中?我无法设计用于保存动态值的数据库 解决方案 我几年前创建了一个FormBuilder,并使用了3个表: tblforms 保留表格的元信息,例如名称等. tblformdetails hold's表单元素信息类似于类型,名称,规则.一个行中的每个元素. tblformdetails对tblforms的引用. tblformdata 保留值.每个值一排.它引用了tblformdetails,并有一个要求将每个表格值分组的请求.
0 2024-04-04
编程技术问答社区
在Codeigniter中创建返回页面链接
我有一个页面 http://http://codeigniter中的类别/索引/0/name/asc/10 . 在此URL中,uri_segment从0开始.此(0)是默认搜索值,name和asc是默认的排序字段和顺序,而10是分页索引. 现在,如果我使用URL移动到一个添加页面(http://arslan/admin/agpory/add/) 类似地喜欢上面的" add"是当前功能. 现在,如果我想返回到后页的链接...如何将用户转移回?我无法让URL返回. 有人可以帮我吗? 解决方案 我不确定我是否正确理解了这个问题,如果不忽略我的答案,但是我认为您想要链接到"返回到上一页",类似于Web浏览器中的Back-Button . 如果这样,您可以使用JavaScript通过简单地使用此行来解决此问题: Go back 其他解决方案 我通过创建/app
0 2024-04-04
编程技术问答社区
在Codeigniter中,如何删除输出到浏览器中的领先换行?
我一直在使用CodeIgniter出现在浏览器输出中的newline问题.发生的事情是我正在输出JSON数据,但是在任何JSON数据之前都有一个newline字符,并且正在弄乱内容. 解决方案 很可能在一个PHP文件的末尾有一些空格.如果您使用关闭标签?>. ,这是一个非常普遍的问题. 您将需要搜索代码文件,并在其之后以newline字符查找?>.关闭标签后的任何内容都将输出到浏览器. 作为一种习惯,由于这个原因,我不使用代码文件中的关闭标签,因为PHP解释器不需要它们.一些编码标准也建议这样做.我仅在php代码之间/之后有其他输出的模板文件中使用它们.
2 2024-04-04
编程技术问答社区
CodeIgniter在数据库中产生了多个会话。为什么?
我有一个网站,可以在页面加载上进行几个AJAX调用.由于某种原因,加载页面时,CodeIgnitor正在插入4个会话(我假设每个Ajax调用一个).我正在存储数据库中的会话. 我很确定每个浏览器应该只有一个会话. Firefox似乎只生成一个.其他浏览器似乎会创建一大堆会议.同一用户的多个会话给我一些严重的身份验证问题. 为什么会发生这种情况?我该如何停止它? 解决方案 我知道讨论发生在前,但是有人可能会觉得这很有用. 现在,我已经使用了CI会话,而没有将其数据存储在数据库中.今天,我决定尝试一下,并立即解决相同的问题:CI正在每个页面加载中生成新的会话. 我检查了服务器的时间,时区,饼干等 - 我可以在论坛上找到的所有内容 - 没有结果.然后决定自己调试CI会话课. 长话短说,事实证明我的 user_agent 我的会话表中的字段太小 - varchar 50-剪切了原始的user_agent字符串 - 因此,CI找不到我的会话并生成Onother
0 2024-04-03
编程技术问答社区
用Code Igniter制作面包屑的最佳方法是什么?
我想知道用代码点火器制作面包屑的最佳方法. 1:用url 检索字符串 示例:$this->uri->segment(2) 2:你知道另一种方式吗? 我真的很想有你的意见 解决方案 使用URL段特定于您的URL结构化的方式 - 并非总是有1:1匹配. 其他解决方案 如果您想要100%匹配并且易于自定义使用此匹配: https://github.com/nobuti/nobuti/codeigniter-codeigniter-breadcrumbs 面包屑是一个小型图书馆,可帮助您使用Codeigniter管理HTML面包屑. 其他解决方案 Buti的CodeIgniter-Breadcrumbs库存在一些问题,尤其是使用" Unshift"方法,以及它如何使用CodeIgniter的" site_url"方法,而不是为您提供使用" base_url"推向面包屑的选项.您可以查看我的叉子,因为Buti的存储库已不再得到维护(自2012年
0 2024-04-03
编程技术问答社区
CodeIgniter会话被机器人垃圾邮件攻击
我有一个每天大约有2000个访问者的网站,该网站上有各种搜索引擎机器人.我尝试将会话减少到20分钟,但我仍然得到很多mysql_slow_queries.因此,我正在研究这篇文章, google crawler,crawler,crawler和codeigniter sessions 要完全忽略会话表中的bot ,但是它们的方式忽略了IPs,但是当我分析数据库时,我看到相同的机器人使用了不同的IPs.我注意到机器人每次都使用相同的用户代理,那么忽略用户代理是否安全?避免慢速查询并忽略机器人的必要步骤是什么? 一些慢速查询 INSERT INTO `ci_sessions` (`session_id`, `ip_address`, `user_agent`, `last_activity`, `user_data`) VALUES ('619bfd8ef4171480645feb17a15323ee', '219.92.135.144', 'Mozilla/5.0 (Windo
0 2024-04-03
编程技术问答社区
我们如何在Codeigniter 3中显示动态模态弹出窗口3
我正在从事一个Codeigniter项目,该项目以卡的形式显示数据库信息,可以选择更多阅读.我想显示带有所选行内容的模态弹出窗口.目前,我正在工作的代码仅显示第一行,如果删除了模型目标,则代码显示正确的内容,但没有以模态形式显示.请协助查询. 视图代码从这里开始 db->query("SELECT * FROM services_offered LIMIT 15"); foreach ($query->result() as $row) { echo " "; echo " "; echo " ";
12 2024-04-02
编程技术问答社区
我想在点击发送后停留在同一个模态模拟窗口中。
以下是UI 的一些屏幕截图 这是我登录后立即获得的第一个窗口 使用jQuery我使用的是slidetoggle函数作为反馈. 现在,当我单击每行Bootstrap-modal弹出窗口时,请触发. 我在这里很困惑.当我单击时,发送它应该留在同一窗口中.它适用于第一个使用Ajax.但是第二个以后,它会刷新页面. 以下是代码 ajax代码 // Ajax post for email sending $(document).ready( function() { $("#mailsubmit").click(function(event) { event.preventDefault(); var recipient = $("input#recipient").val(); var subject = $("input#subject").val(); var message = $("textarea#message").val(); jQue
0 2024-04-02
编程技术问答社区
为什么选择选项不显示号码?
我有一些问题.我的库存量大尺寸为" 100-199"的选择选项仅显示: 如果我的产品中有库存为1-99和200-999,我没有遇到此错误.选择选项很好,显示一个数字.在我的情况下 这是我的DB: 这是我的控制器: $data['stock'] = $this->Product_model->get_product_all($id); 这是我的模型: public function get_product_all($id){ $this->db->select('products_shirt.*'); $this->db->from('products_shirt'); $query = $this->db->get(); return $query->row_array(); 这是查看代码:
0 2024-04-02
编程技术问答社区
JQuery/Ajax接受来自PHP函数的True/False
function check_jobref_availability(){ if ($job_reference_already_exists == 0) { $output = TRUE; } else { $output = FALSE; } echo $output; } 完整功能 function check_jobref_availability(){ $output = 1; $jobrefference = $this->uri->segment(3); //mysql_real_escape_string($_REQUEST['ptitle']); $strSQL = "SELECT count(*) FROM projects where ptitle = '" . $jobrefference . "' and companyid = 1";
2 2024-04-01
编程技术问答社区
使用CodeIgniter'的上传库上传.bmp图像 0宽度和高度
在这些行之后: ... $config['allowed_types'] = 'gif|jpg|png|bmp|jpeg'; ... $this->load->library('upload', $config); $this->upload->do_upload(); .bmp文件成功上传到主机.但是,获取上载数据的宽度和高度回报和空值: $imgdata = $this->upload->data(); print_r($imgdata); 即,$imgdata['image_width']和$imgdata['image_height']根本没有任何值. 除了BMP以外,我已经尝试上传其他图像文件类型.它的高度和宽度是有效的数字. 为什么只发生.bmp映像?我该如何解决? 编辑: 这是print_r()上$imgdata的内容; [file_name] => 58ea3c1f14b45d7c1c2c0e0c1920af772b9eb
0 2024-04-01
编程技术问答社区
Codeigniter表格中的下拉选择与分类名称插入到博客表中的categoryid和分类表中的catgoryname。
我有新闻ID,新闻slug,新闻详细信息,news_img,新闻表中的类别ID和类别ID类别名称,类别插入类别表中.我在这里有2个问题: 下拉显示类别名称 在选择类别中添加博客 评论的部分是我尝试手动做的,但我想要动态. 我想知道类别下拉次数是否应具有category_id或categoryname.在form_dropdown之后,我想列出类别名称.当提交博客时,我想在新闻表和类别名称和ID中的类别中catefore Id进行分类. 我也希望您可以展示如何集成博客的图像上传,该博客自动创建一个以博客标题为foldername的文件夹,并仅存储该特定博客文章的图像.如果您可以在CI中使用Plupload展示它,我会很高兴. 我正在使用HMVC 使用Codeigniter '', 'i
0 2024-04-01
编程技术问答社区
如何结合/整合CodeIgniter和Wordpress博客的功能?
我的网站具有博客功能要求.我必须制作像我的网站外观一样的博客. 如何将CodeIgniter和WordPress博客(仅)功能组合到同一网站中的功能? 我已经看到了这个问题: wordpress模板带有codeigniter .但没有太多线索. 解决方案 您需要创建2个文件并修改2个现有功能.一个功能在CodeIgniter中,另一个功能在WordPress中. 这是步骤. 1.)打开您的configs/hooks.php文件,并创建一个pre_controller钩,如下: $hook['pre_controller'] = array( 'class' => '', 'function' => 'wp_init', 'filename' => 'wordpress_helper.php', 'filepath' => 'helpers' ); 2.)在您的助手目录中创建一个新文件,称为" wordpres
6 2024-04-01
编程技术问答社区
如何使用codeigniter将图片上传到azure blob存储?
我想使用CodeIgniter将图像上传到Azure Blob存储. 我搜索这个库 https://github.com/thomasantony/codeigniter-azure/codeigniter-azure/ 但我不知道如何使用Azure-PHP库 有人可以帮忙吗?非常感谢 解决方案 得到答案: $this->load->library('azure'); $blob_storage = $this->azure->get_blob_storage(); var_dump($blob_storage -> listBlobs("xxx-container-name-xxx")); doc检查 - https://github.com/azure/azure/azure-sdk--sdk-- php
2 2024-04-01
编程技术问答社区
MySQL在php中插入图片,帖子函数返回0
我试图为我的用户导入配置文件图片,并以BLOB格式插入数据库.但是当我运行代码时,我选择一个图像,我会得到file_get_contents()不能为空错误 我尝试了与此问题有关的其他帖子中的许多解决方案. 控制器: public function wijzigen() { $foto = $this->input->post($_FILES['profielfoto']['tmp_name']); $fotoContent = addslashes(file_get_contents($foto)); $id = $this->session->userdata('id'); $gebruiker = new stdClass(); $gebruiker->id = $id; $gebruiker->profileImage = $fotoContent; $this->load->model('gebr
2 2024-04-01
编程技术问答社区