Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- caprine: Snowrunner játék manuális tuning lehetőségei
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Gurulunk, WAZE?!
- eBay-es kütyük kis pénzért
- sziku69: Szólánc.
- Elektromos rásegítésű kerékpárok
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
Ú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
- PS5 Slim Digital (CFI-2016) Karcmentes, 1 kontroller
- ASUS ROG Zephyrus G14 Ryzen 9 / RTX 4070 / 32GB / 1 TB SSD 2K 165Hz PRÉMIUM
- Dobozod ÚJ Lenovo LOQ i7 / RTX 4050 / 144Hz / GARANCIA 2027.03.
- Ultra Rampage Mobile Gamer Csomag: Lenovo Legion Duel 2 + egyedi kiegészítők! 512GB EU verziós!
- Asus TUF RX 6900 XT
- Akció!!! Lenovo ThinkPad T14 Gen1 Ryzen5 4650U Refurbished - Garancia
- 27% - Corsair Premium Individually Sleeved TÁPEGYSÉG KÁBEL Pro Kit Type 4 Gen4
- AKCIÓ! Microsoft XBOX Series X 1TB SSD fekete játékkonzol garanciával hibátlan működéssel
- 268 - Lenovo Yoga Pro 9 (16IAH10) - Intel Core U9 285HX, RTX 5060 (multitouch)
- HP EliteDesk 800 G4 USDT,i3-8100, 8GB DDR4,256GB M2 SSD,WIN11
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

