The Web Design Group

... Making the Web accessible to all.

Welcome Guest ( Log In | Register )

> Insert Multiple Rows into MySQL Database with PHP, Why does it only insert one row?
Dante Monaldo
post Aug 8 2012, 09:58 PM
Post #1


Advanced Member
****

Group: Members
Posts: 124
Joined: 22-March 09
From: California, USA
Member No.: 8,132



I have some code that takes 50 products from an API catalog and should be adding them to a database on my site. However, when I run the code, 50 rows are created, but only one product is added. All the other rows are left blank.

Has anybody had this problem before? What am I missing?

CODE
$insert = mysql_query("INSERT INTO imported_products (advertiser_id, buy_url, catalog_id, currency, description, image_url, in_stock, isbn, manufacturer_name, manufacturer_sku, name, price, retail_price, sale_price, sku, upc)
                    VALUES('$advertiser_id', '$buy_url', '$catalog_id', '$currency', '$description', '$image_url', '$in_stock', '$isbn', '$manufacturer_name', '$manufacturer_sku', '$name', '$price', '$retail_price', '$sale_price', '$sku', '$upc')");
    if(!$insert){
        $update = mysql_query("UPDATE imported_products SET advertiser_id='$advertiser_id', buy_url='$buy_url', catalog_id='$catalog_id', currency='$currency', description='$description', image_url='$image_url', in_stock='$in_stock', isbn='$isbn', manufacturer_name='$manufacturer_name', manufacturer_sku='$manufacturer_sku', name='$name', price='$price', retail_price='$retail_price', sale_price='$sale_price', upc='$upc' WHERE sku='$sku'") or die (mysql_error());
        if(!$update){
            echo 'Could not update product. SKU: '.$sku.'';
        } else {
            echo 'UPDATE Mission Accomplished.';
        }
    } else {
        echo 'INSERT INTO Mission Accomplished.';
    }
}


I would really appreciate some help on this smile.gif
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
 
Reply to this topicStart new topic
Replies
Dante Monaldo
post Aug 13 2012, 03:45 PM
Post #2


Advanced Member
****

Group: Members
Posts: 124
Joined: 22-March 09
From: California, USA
Member No.: 8,132



Okay Brian, I see what you are saying with putting the fields in an array, it would definitely simplify the code. But what about getting the actual data inserted into the database? I figured out the format of the feed and can control it as such:

$feed->products is the array the holds the multiple products

$feed->products->product is the array for the individual product that holds the data for that product

So now I have full control of displaying the products on the screen. For example, if I wanted to display the name of the 3rd product in the array, I would write:
CODE
echo $feed->products->product[3]->name;


And that works perfectly! I just can't get it into the database. When I run it, I can get one row added to the table with the product data in it, but that's it. It's as if the table will only hold one row. When I run it again, with a different product, nothing happens. Even when I do something simple like this, it still doesn't work:

CODE
$name = $feed->products->product[3]->name;
$insert = mysql_query("INSERT INTO imported_products (name) VALUES ('$name')");


Any ideas why it's doing this?
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post
Brian Chandler
post Aug 14 2012, 01:48 AM
Post #3


Jocular coder
********

Group: Members
Posts: 2,460
Joined: 31-August 06
Member No.: 43



QUOTE(Dante Monaldo @ Aug 14 2012, 05:45 AM) *

Okay Brian, I see what you are saying with putting the fields in an array, it would definitely simplify the code. But what about getting the actual data inserted into the database? I figured out the format of the feed...


But why did you need to "figure out" the format?? Is there no documentation for it?
User is offlinePM
Go to the top of the page
Toggle Multi-post QuotingQuote Post

Posts in this topic
Dante Monaldo   Insert Multiple Rows into MySQL Database with PHP   Aug 8 2012, 09:58 PM
Ephraim F. Moya   I have some code that takes 50 products from an A...   Aug 9 2012, 08:55 AM
Dante Monaldo   Whoops, looks like I left that chunk out. Here...   Aug 9 2012, 12:42 PM
Ephraim F. Moya   Whoops, looks like I left that chunk out. Here...   Aug 9 2012, 03:46 PM
Dante Monaldo   I had this code working earlier to simply display ...   Aug 9 2012, 05:24 PM
Ephraim F. Moya   I had this code working earlier to simply display...   Aug 9 2012, 07:59 PM
Dante Monaldo   Yes, I think I hear what you are saying. I'm j...   Aug 9 2012, 11:08 PM
Ephraim F. Moya   [size=5] [code]This is what your array should loo...   Aug 11 2012, 02:16 PM
Brian Chandler   Can you explain what this means? In general, one...   Aug 11 2012, 10:36 PM
Ephraim F. Moya   Can you explain what this means? In general, on...   Aug 12 2012, 10:28 AM
Brian Chandler   I still can't parse "leaves the status ...   Aug 13 2012, 04:10 AM
Ephraim F. Moya   $fields = array(' 'advertiser...   Aug 13 2012, 10:27 PM
Dante Monaldo   Okay Brian, I see what you are saying with putting...   Aug 13 2012, 03:45 PM
Brian Chandler   Okay Brian, I see what you are saying with puttin...   Aug 14 2012, 01:48 AM
Ephraim F. Moya   Okay Brian, I see what you are saying with puttin...   Aug 16 2012, 12:07 PM
Brian Chandler   This does not make sense. If $feed->prod...   Aug 14 2012, 01:37 AM
Brian Chandler   Right. This is a typo... No, it doesn't. ...   Aug 14 2012, 01:47 AM
Ephraim F. Moya   What about when each entry in the products array...   Aug 14 2012, 09:33 AM
Dante Monaldo   So, I'm back with another question relating to...   Nov 11 2012, 08:45 PM


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



- Lo-Fi Version Time is now: 27th April 2024 - 11:06 PM