Le szeretném egy adott id elemeit kérdezni és átimportálni egy másik táblába. Ezen a kódon mit kéne változtatom?
if(isset($_POST['move-btn'])){
$id = $_POST['move-btn'];
mysqli_query($conn, "SELECT 'order_btn'(id, name, email, total_products, total_price, quantity) VALUES ('$id','$name','$email', '$total_product', '$price_total', '$quantity') WHERE id = '$id");
mysqli_query($conn, "INSERT INTO `kesz`(id, name, email, total_products, total_price, quantity) VALUES ('$id','$name','$email', '$total_product', '$price_total', '$quantity')");
};





Kb. gyorsan összedobva, nagy vonalakban így:
pár megjegyzés:
* 3. sor: felhasználótól POST metódusban érkező értéket az SQL-injektálásos támadások elkerülése végett mindenképp szűrni kell ( [link] )
* 5. sor: a SELECT lekérdezés formátuma (ahol a szögletes zárójelek közötti kitételek opcionálisak):
SELECT oszlop1, oszlop2, oszlop3,....oszlopN
FROM táblanév
[WHERE táblanév = érték]
bővebben:
* 8. sor: mivel a felhasználó adhat meg hibás id-t, ezért ellenőrizni kell, hogy a lekérdezés adott-e vissza eredményt, illetve hány sort ( [link] )
* 9-10. sor: az eredményből ki kell szedni a sort egy tömbbe - a tömb indexe az adatbázis oszlopneve ( [link] ) és azokat kell megadni az INSERT utasításnál





#4: "Nem működik sajnos"
Ezért írtam: "kb. gyorsan összedobva, nagy vonalakban". ;) Hogy pontosan mik a táblák/oszlopok nevei - ez a kérdésben nem teljesen világos - azt te tudhatod.
"de hibát nem ír ki"
Akkor ki kell íratni a hibákat - valahogy eféleképp:
az 1. sorban kapcsolom be az általános PHP-hibák kiíratását ( [link] ), a 12-15. sorban a SELECT, a 32-35. sorban az INSERT lekérdezés esetleges hibáit ( [link] ), a 19. sorban pedig a SELECT lekérdezés eredményét.
Ez lett a megoldás:
if ( isset($_GET['move-btn']) ) {
$id = intval($_GET['move-btn']);
mysqli_autocommit($conn, false);
mysqli_query($conn,"INSERT INTO kesz SELECT * from order_btn where id = $id");
mysqli_query($conn,"DELETE FROM order_btn where id = $id");
mysqli_commit($conn);
};
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!