Hirdetés
- Kormányok / autós szimulátorok topikja
- Szünetmentes tápegységek (UPS)
- OLED TV topic
- Melyik tápegységet vegyem?
- A jövőben nem csak a gazdagok kiváltsága lehet az Intel CPU-k tuningja
- XMLTV EPG letöltő progi
- 4K vs 8K – Megéri-e a 8K TV 2026-ban?
- Apple MacBook
- Milyen egeret válasszak?
- Vezeték nélküli fülhallgatók
Ú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
- Kormányok / autós szimulátorok topikja
- Lényegretörő Akasa hálókártya a 10 gigabitre vágyóknak
- Nintendo Switch
- Szünetmentes tápegységek (UPS)
- Ha Darwinra hallgat az AI, nehéz lesz megállítani
- OLED TV topic
- Vicces képek
- Gyúrósok ide!
- hcl: Olympus E-PL1 nyomozás
- Melyik tápegységet vegyem?
- További aktív témák...
- BESZÁMÍTÁS! MSI Z390 i7 8700 32GB DDR4 500GB SSD 1TB HDD RTX 3060 12GB Zalman S2 TG FSP 800W
- Keresünk dokkolókat
- Apple iPhone 12 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- Asus TUF A15 FX506 - 15.6" Full HD 144Hz - Ryzen 5-4600H - 8GB - 512GB - Win11 - GTX 1650 Ti - HUN
- APPLE MacMini 7,1,i5-4278U,8GB RAM,1TB,macOS Monterey
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


