Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 带有xpath的Codeigniter和重复密钥更新_Php_Mysql_Codeigniter_Xpath_On Duplicate Key - Fatal编程技术网

Php 带有xpath的Codeigniter和重复密钥更新

Php 带有xpath的Codeigniter和重复密钥更新,php,mysql,codeigniter,xpath,on-duplicate-key,Php,Mysql,Codeigniter,Xpath,On Duplicate Key,我想听听你的建议 我有一个网站数据库的更新脚本,但到目前为止-我还没有弄清楚如何将其转换为Codeigniter框架ie。它在我网站的主目录中保存为自己的文件,并从那里执行 有两件事让我很难弄明白: 它使用php xpath——不难看出我将如何将其转换为Codeigniter控制器,但我想知道更新批处理是否比使用foreach循环更好,因为每行只更新一个索引列。几乎没有关于这方面的文档,但是 我的代码使用MySql的On duplicate功能,据我所知,Codeigniter不支持该功能 代码

我想听听你的建议

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

有两件事让我很难弄明白:

  • 它使用php xpath——不难看出我将如何将其转换为Codeigniter控制器,但我想知道更新批处理是否比使用foreach循环更好,因为每行只更新一个索引列。几乎没有关于这方面的文档,但是

  • 我的代码使用MySql的On duplicate功能,据我所知,Codeigniter不支持该功能

  • 代码:

    关于如何在控制器/模型环境中实现上述内容,有谁能指导我朝着正确的方向前进?当然,如果有,请告诉我实现上述所有内容的最有效方法


    干杯

    基本上,您需要了解更多关于Codeigniter的MVC结构,您可以开始阅读控制器

    在您的设置中:

  • 在controller app/controllers/update.php中创建一个文件
  • 在update.php中,您可以在
    public function index()中编写函数
  • 解析xml并将其传入模型(为此设置创建模型)
  • 然后逐个或每批保存/插入代码,将代码放入模型中
  • 同样,您必须阅读文档,以便更好地理解如何分离MVC并使其成为一种单一功能

    $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'");
    }