Hirdetés
- bambano: Bambanő háza tája
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- talmida: My Art II.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- gban: Meghalt Chuck Norris
- Parci: Milyen mosógépet vegyek?
- gban: Ingyen kellene, de tegnapra
Ú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. -
martonx
veterán
Nem értelek. Minden adott a problémád megoldásához, a megoldásokat leírtam/leírtuk, de te nem csinálod meg. Mit vársz tőlünk? Menjünk át hozzád, és helyetted rakjunk fel egy Toad for Mysql-t, majd rakjuk fel az sql dumpot a lokális gépedre, és szépen nézegessük át veled az egészet? Majd magyarázzuk el, és simogassuk meg a buksidat?
Új hozzászólás Aktív témák
- Google Pixel topik
- Spórolós topik
- Nintendo Switch 2
- Milyen NAS-t vegyek?
- Apple MacBook
- Autóápolás, karbantartás, fényezés
- Samsung Galaxy Felhasználók OFF topicja
- Apple iPhone 17e – mágnesek ereje
- Törölte az idei asztali csúcsprocesszorát az Intel
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- További aktív témák...
- Lenovo ThinkPad E590 / Intel Core i7 8GEN / 16gb ram / AMD 2gb dedikált / 500gb NvMe / Vil MAGYAR B
- Asus TUF Ryzen 7 6800HS NVIDIA RTX3050Ti 17.3 FHD 144Hz WiFi6 Windows11 gamer laptop
- Samsung Galaxy S24 Ultra 5G 512GB 12GB RAM Dual eladó, cserélhető S25 Ultra telefonra
- A+ ASUS ROG STRIX GL702VSK 17.3 FHD IPS 120Hz, GTX1070 8GB, i7-7700HQ, 16 / 256+1TB SZLA +GARANCIA
- Kingston FURY Beast RGB 2x8GB DDR5 6000MHz - Új, bontatlan - Eladó!
- AKCIÓ! Dell Precision 3571 4G LTE i7-12700H 32GB 1000GB FHD RTX A1000 4GB 1 év teljeskörű garancia
- LG UltraGear 27GP850-B IPS Monitor! 2560x1440 / 165Hz / 1ms / G-Sync / FreeSync
- HP EliteBook 650 G10 15,6" i5 -1335u, 16GB RAM, 512GB SSD, jó akku, számla, 6 hó gar
- Eladó Samsung Galaxy A50 4/128GB kék / 12 hónap jótállás
- AKCIÓ! LENOVO Legion 5 Pro 16ACH6H notebook - R7 5800H 16GB DDR4 512GB SSD RTX 3070 8GB
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

