- Csillagfelhő áztatná el Elon Musk űrkarneválját
- AMD-s AI-ra építenek az ASUS üzleti portfóliójának új egybegépei
- Rejtély az űr csendjében: ezért kellett kimenekíteni az Űrállomás csapatát
- Kipukkadt a videós AI lufi? A Sora elkaszálása csak a kezdet
- A jövőben egy új foglalat több CPU-generációt is kiszolgál majd az Intelnél
- Apple MacBook
- OLED monitor topic
- Milyen egeret válasszak?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Tiszta szolárium: élőben brutális a TLC új SQD-Mini LED-es csúcsmodellje
- Windows 11: miért nem vált mindenki?
- Milyen széket vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
"Más" utáni részre reagálva:
A PDO exec() függvényét használod itt? Vagy ez saját wrapper osztály?
Ha a PDO-é, akkor azonnal felejtsd el, hogy exec() metódus használatával közvetlenül beleraksz felhasználótól érkező adatot. Meg nem ártana, ha kivételeket kezelnél.
Nem is értem, pont az a lényege a PDO-nak, hogy szépen lehet vele az adatokat kezelni, prepared statementeket lehet vele használni, így escape-elgetni sem kell a karaktereket, épp ez az egyik legjobb benne, de a másik pedig az előkészített query által megvalósítható szép kód - nincs szükség okádék string-összefűzögetésre, mint - bocs - a Te kódodban.
Tele von Zsinór kolléga a PHP topicban belinkelte a saját cikkét a témában, ami elég jól összefoglalja a dolgot:
http://maerlyn.eu/2011/12/03/pdo.htmlTehát
$db->exec("INSERT INTO offers (offer_id,description,images) VALUES ('$provider_id','$htmlcontent', '".$_FILES['uploaded_image']['name']."');");
FELEJTŐS, HELYETTE:$dbh = NULL;
try {
// felhasználónév, jelszónál saját adat behelyettesítendő
$dbh = new PDO("mysql:host=localhost;dbname=test", "root", "root", array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8;',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
));
// ..............
$sth = $dbh->prepare('INSERT INTO offers (offer_id,description,images) VALUES (:offer_id, :description, :images)');
$sth->bindParam(':offer_id', $provider_id, PDO::PARAM_INT);
$sth->bindParam(':description', $htmlcontent, PDO::PARAM_STR);
$sth->bindParam(':images', $_FILES['uploaded_image']['name'], PDO::PARAM_STR);
$sth->execute();
echo 'Úgy tűnik, minden OK.';
}
catch (PDOException $err) {
echo 'Hiba: ', $e->getMessage();
}
catch (Exception $e) {
echo 'Másik hiba: ', $e->getMessage();
}Itt feltételeztem, hogy az offer_id egy INT.
Meg természetesen a kivételeket inkább naplózni kéne, és felhasználóbarát üzeneteket kiírni.Ja, és a fentivel nagy eséllyel kerülhető el az általad említett probléma.
Legalábbis remélem. Majd írd meg, mire jutottál.
Új hozzászólás Aktív témák
- 200 x 60 cm Ikea Lagkapten / Alex asztal
- i5 14400F/MSI RTX 5070 GAMING TRIO OC/Corsair 32GB DDR5 6000Mhz/Samsung 980 Pro 1TB/Be quiet650WGold
- Tamron 24-70mm f2.8 Di VC USD G2 (Nikon F) eladó!
- Steelseries Arctis 9X Wireless for xbox + Xbox dongle for PC
- ASUS ROG STRIX GeForce RTX 4090 WHITE OC EDITION 24GB - Alza garancia 2027.03.19 - BESZÁMÍTOK!
- Lenovo X390 i5 8265U, 8GB RAM, 256-512GB SSD, jó akku, számla, 6 hó gar
- 153 - Lenovo LOQ (15IRX9) - Intel Core i5-13450HX, RTX 4060 (ELKELT)
- CÉGEK FIGYELEM!! iPhone 11 64GB Black -1 ÉV GARANCIA - 27% ÁFA-S SZÁMLA Kártyafüggetlen, 100% Akksi
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- Eladó Xiaomi Redmi Note 13 Pro 5G 8/256GB / 12 hónap jótállás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


