php - Codeigniter 与 xpath 和重复 key 更新

标签 php mysql codeigniter xpath on-duplicate-key

寻求一些建议。

我有一个网站数据库的更新脚本,但到目前为止 - 我还无法弄清楚如何将其转换为 Codeigniter 框架,即。它作为自己的文件保存在我网站的主目录中,并从那里执行。

有几件事让我很难弄清楚:

  1. 它使用 php xpath - 不难看出我如何将其转换为 Codeigniter Controller ,但我想知道 update_batch 对我来说是否是一个更好的解决方案,而不是使用 foreach 循环,因为每行都是仅更新 1 个索引列。然而,几乎没有这方面的文档......

  2. 我的代码利用了 MySql 的重复功能,据我了解,Codeigniter 不支持该功能。

代码:

$string = 'http://mywebsiteetc.com/xml/gzip/';
$xml    = simplexml_load_file("compress.zlib://$string");
foreach ($xml->xpath('//merchant') as $row)
{
                $merchant_id   = $row['id'];
                $merchant_name = $row['name'];
                mysqli_query($con, "INSERT INTO merchants (merchant_id, merchant_name) VALUES ('$merchant_id', '$merchant_name') ON DUPLICATE KEY UPDATE merchant_id = '$merchant_id', merchant_name = '$merchant_name'");
} 

任何人都可以引导我走向正确的方向,了解如何将上述内容实现到 Controller /模型环境中 - 当然,如果有的话,请告诉我执行上述所有操作的最有效方法?

干杯!

最佳答案

基本上你需要了解更多关于Codeigniter的MVC结构,你可以开始阅读here对于 Controller 。

在您的设置中:

  1. 在 Controller app/controllers/update.php 中创建文件
  2. 在 update.php 中,您可以在 public function index() 中编写函数
  3. 解析您的 xml 并将其传递到模型中(为此设置创建一个模型)
  4. 然后逐个或批量保存/插入它,将代码放入您的模型中

同样,您必须阅读文档才能更好地理解如何分离 MVC 并使其成为一个功能

关于php - Codeigniter 与 xpath 和重复 key 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19801810/

相关文章:

php - fatal error : Uncaught exception PAYPAL

php - 如何在 PHP 中获取 MySQL 的 CURRENT_TIMESTAMP - CodeIgniter?

php - 在字符串中间添加一个字符

PHP从txt文件运行代码

php - 如何在字符串内迭代循环搜索固定关键字后的任何单词?

java - Post 无法将数据插入 MySQL 表,列数与第 1 行的值数不匹配

mysql - Eclipselink 随机抛出 MySQL 的误导性重复条目错误?

php - 在 date_sub 函数中使用间隔时,我们可以使用月和日组合的间隔吗?

mysql - 通过在特定表上添加 JOIN 来进行非常慢的 SQL 查询

php - 使用 Ajax 和 Codeigniter 的评论系统