0

I am new to php and mysql I want to crate a query that does the update or adds a new table if it is not in database.
I get on else for echo: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home2/public_html/shop/dokumenti/up2.php on line 53 ID 1 ne postoji u drugoj tablici i trenutno: 0 –

And I cannot insert a querry

Can you help me with this code:

        <?php


    $mysql_db = "";
    $mysql_user = "";
    $mysql_pwd  = "";


        $con = mysql_connect("localhost", $mysql_user, $mysql_pwd);
        if (!$con) {
            die('Could not connect: ' . mysql_error());
        }

        mysql_select_db($mysql_db, $con);

          $countUpdated=0;

          //popravak kategorija
            mysql_query("UPDATE ps_product_shop prod_shop INNER JOIN ps_product prod USING(id_product) SET prod_shop.id_category_default = prod.id_category_default WHERE prod_shop.id_product BETWEEN 1 AND 62226");


                    // sve na kunu
                    mysql_query("UPDATE ps_product_supplier SET id_currency = 3 WHERE id_currency = 0");


                    //dodavanje poreza

                    mysql_query("UPDATE ps_product SET id_tax_rules_group = 1 WHERE id_tax_rules_group = 0");
                    mysql_query("UPDATE ps_product_shop SET id_tax_rules_group = 1 WHERE id_tax_rules_group = 0");



        //$kveri = "SELECT id_product_supplier, id_product, id_product_attribute, id_supplier,product_supplier_reference, product_supplier_price_te, id_currency FROM ps_product";
        $kveri = "SELECT id_product,id_supplier,supplier_reference, wholesale_price FROM ps_product";

        $ispis = mysql_query($kveri) or die(mysql_error());

                   while ($row = mysql_fetch_array($ispis)){


                   $trenutnired = $row['id_product'];
                   $trenutnired1 = 0;
                   $trenutnired2 = $row['id_supplier'];
                   $trenutnired4 = $row['supplier_reference'];
                   $trenutnired5 = $row['wholesale_price'];
                   $trenutnired6 = 3;



                                                                //echo $trenutnired;

                $drugatab = "SELECT * FROM ps_product_supplier WHERE id_product = '$trenutnired'";
            if($rezultati = mysql_query($drugatab) && mysql_num_rows($rezultati)){
                // Successful query...
                //mysql_query("INSERT INTO ps_product_supplier (id_product_supplier, id_product, id_product_attribute, id_supplier, product_supplier_reference, product_supplier_price_te, id_currency)  VALUES ('', '$trenutnired', '$trenutnired1',  '$trenutnired2', '$trenutnired4', '$trenutnired5', '$trenutnired6')");
                $countUpdated++;
            } else {
                echo "ID $trenutnired ne postoji u drugoj tablici i trenutno: $countUpdated<br />";
            }
            }


        ?>

Edited by mehnihma: z

2
Contributors
13
Replies
15
Views
4 Years
Discussion Span
Last Post by mehnihma
0

The error probably points to an invalid query. Check your table and field names. I'd leave off any primary key fields and values in Insert queries.

0

Hi I dont know
When I use:

$drugatab = "SELECT id_product FROM ps_product_supplier WHERE id_product = '$trenutnired'";

The I get same error but id_product is in both tables?

0

THis is probably the issue:

if($rezultati = mysql_query($drugatab) && mysql_num_rows($rezultati)){

Change to:

$rezultati = mysql_query($drugatab);
if(mysql_num_rows($rezultati)){

   // ...
}
0

Hi
Now I get a blank screen

        $drugatab = "SELECT id_product FROM ps_product_supplier WHERE id_product = '$trenutnired'";
                $rezultati = mysql_query($drugatab);
                    if(mysql_num_rows($rezultati)){
                // Successful query...
                //mysql_query("INSERT INTO ps_product_supplier (id_product_supplier, id_product, id_product_attribute, id_supplier, product_supplier_reference, product_supplier_price_te, id_currency)  VALUES ('', '$trenutnired', '$trenutnired1',  '$trenutnired2', '$trenutnired4', '$trenutnired5', '$trenutnired6')");
                $countUpdated++;
            } else {
                echo "ID $trenutnired ne postoji u drugoj tablici i trenutno: $countUpdated<br />";
            }
            }
0

The code above gives no output if the select query is successful. What were you expecting?

Edited by diafol

0

I get that all IDs in first tabel do not exist in second but only few not exsist in second tabel?
How can I get correct listing and insert missing values?

USPJESNO ID 1 ne postoji u drugoj tablici i trenutno: 0
USPJESNO ID 2 ne postoji u drugoj tablici i trenutno: 1
USPJESNO ID 3 ne postoji u drugoj tablici i trenutno: 2
USPJESNO ID 4 ne postoji u drugoj tablici i trenutno: 3
USPJESNO ID 5 ne postoji u drugoj tablici i trenutno: 4
USPJESNO ID 6 ne postoji u drugoj tablici i trenutno: 5
USPJESNO ID 7 ne postoji u drugoj tablici i trenutno: 6
USPJESNO ID 8 ne postoji u drugoj tablici i trenutno: 7
USPJESNO ID 9 ne postoji u drugoj tablici i trenutno: 8

        $drugatab = "SELECT id_product FROM ps_product_supplier WHERE id_product = '$trenutnired'";
                $rezultati = mysql_query($drugatab) or die(mysql_error());
                    if(mysql_num_rows($rezultati)){
                // Successful query...

                echo "USPJESNO ID $trenutnired ne postoji u drugoj tablici i trenutno: $countUpdated<br />";
                //mysql_query("INSERT INTO ps_product_supplier (id_product_supplier, id_product, id_product_attribute, id_supplier, product_supplier_reference, product_supplier_price_te, id_currency)  VALUES ('', '$trenutnired', '$trenutnired1',  '$trenutnired2', '$trenutnired4', '$trenutnired5', '$trenutnired6')");
                $countUpdated++;
            } else {
                echo "ID $trenutnired ne postoji u drugoj tablici i trenutno: $countUpdated<br />";
            }
            }

Edited by mehnihma: p

0

I'm not really sure what you're trying to do. You seem to be using a loop further up from the code listed here. You seem to be duplicating data across tables - this is not a good.

If you need to display data from a number of tables, you should use a JOIN or subqueries. So, if I've understood the issue, you need to restructure your tables to take out this duplication.

0

No, in the loop I am trying to add values that are missing in second table
in table ps_psroduct supplier some values are missing and I want to add the from ps_product. So I want to list values that are missing and insert them in ps_product_supplier, there is no duplication.
Some values from ps_product are same in ps_product_supplier but not all so I want to filter thoese values and insert them correctly
How to do that?

0

Some values from ps_product are same in ps_product_supplier but not all so I want to filter thoese values and insert them correctly

That seems to be duplicating data. Isn't it?

0

yes if you look it as that, but that is the way this database works, so it is not :D

Do you maybe how to make this work?

0

Do you maybe how to make this work?

I'm afraid it's beyond me. I don't see how the data in the two tables relate to each other. Good luck though.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.