首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter XML Datafeed to Multiple (MYSQL表)

Codeigniter XML Datafeed to Multiple (MYSQL表)
EN

Stack Overflow用户
提问于 2018-01-02 07:49:42
回答 1查看 74关注 0票数 0

天啊..。这对我来说是个相当头痛的问题。

我试图获得变量SQL1SQL2SQL3来更新不同的mysql表。但是,究竟SQL2SQL3的“场”与SQL1有什么关系呢?

请参阅'id'SQL2SQL3__中的插入部分。我不知道如何在不编写更难看的代码的情况下替换并获取这些生成的数据。

另外,如果你们中的任何一个人知道如何使这件事变得更容易,请帮助这里的一个人。在我看来很脏..。当然还有更好的方法:

代码语言:javascript
复制
// DB Settings
$servername = "localhost";
$username = "user";
$password = "pass";
$dbname = "db";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

// Load data from XML file
$xml = simplexml_load_file("Datafeed.xml");

// Capture XML Data 
foreach($xml->children() as $product) { 

    // Change stock wording
    $stock = $product->stock;
    if ($stock == 'yes') {
        $stock = 'on';
    } else {
        $stock = 'off'; }

// Convert XML data and insert into MYSQL

        $sql = "INSERT INTO testshop_products (product_id, product_name, product_type, product_price, product_status) VALUES ("echo $product->code;", "echo $product->cat;", "echo $product->price;","echo $stock;")";

        $sql2 = "INSERT INTO testshop_product_details (product_id, product_color, product_image, details_status) VALUES ('id', "Generating...", "echo $product->img;","echo $stock;")";

        $sql3 = "INSERT INTO testshop_spesifications (product_id, specs_meta, specs_details, specs_slug, specs_status) VALUES ('id', General, "echo $product->img;", general, "echo $stock;")"; 

        if ($conn->query($sql) === TRUE) {
            echo "New record created successfully";
        } else {
            echo "Error: " . $sql . "<br>" . $conn->error;
        }
        $conn->close();

        if ($conn->query($sql2) === TRUE) {
            echo "New record created successfully";
        } else {
            echo "Error: " . $sql . "<br>" . $conn->error;
        }
        $conn->close();

        if ($conn->query($sql3) === TRUE) {
            echo "New record created successfully";
        } else {
            echo "Error: " . $sql . "<br>" . $conn->error;
        }
        $conn->close();
    } 
EN

回答 1

Stack Overflow用户

发布于 2018-01-02 11:43:25

代码语言:javascript
复制
write store procedure and inset all records and all table it will find.

store procedure like this
CREATE  PROCEDURE `addJobApplicant`(IN XMLINPUT 
text, OUT vresult VARCHAR(100))
BEGIN

DECLARE iCounter INT DEFAULT 1;
DECLARE maxCount INT;
SET vcompID=ExtractValue(XMLINPUT, '/ROOT/HEADER/COMPANYID[$iCounter]');
SET vjpID=ExtractValue(XMLINPUT, '/ROOT/HEADER/JOBID[$iCounter]');

insert command here 

设置vresult =“已成功插入”;end

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48057395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档