Új hozzászólás Aktív témák
-
Taci
addikt
bind_param, ezzel kapcsolatban kérdeznék.
Adott egy olyan lekérdezés, amiben van egy változó tartalmú rész, pl.:
WHERE id NOT IN (0), máskor NOT IN (0,1,2,3), vagy NOT IN (0,1,2,3,4,5,6,7,8,9) stb.Tehát a zárójelen belül lehet akár 1, akár 11 érték is, változó.
Ha simán csak stringként adom át, akkor nem működik. Pl.:
$id_list = "0,1,2,3,4,5,6,7,8,9";$stmt = $mysqli->prepare("... WHERE id NOT IN (?)");$stmt->bind_param('s', $id_list);(Nincs előttem a kódom most, de kb. így lehet. Plusz azok az id-k belső kódból jönnek, így lehet, le sem kellene védenem őket, de talán jobb lenne biztonságban tudni.)
Itt látok pont most talán egy ide illő megoldást: ReflectionClass (sose láttam még).
https://www.php.net/manual/en/mysqli-stmt.bind-param.phpComing to the problem calling mysqli::bind_param() with a dynamic number of arguments via call_user_func_array() with PHP Version 5.3+, there's another workaround besides using an extra function to build the references for the array-elements.
You can use Reflection to call mysqli::bind_param(). When using PHP 5.3+ this saves you about 20-40% Speed compared to passing the array to your own reference-builder-function.
Example:
<?php$db = new mysqli("localhost","root","","tests");$res = $db->prepare("INSERT INTO test SET foo=?,bar=?");$refArr = array("si","hello",42);$ref = new ReflectionClass('mysqli_stmt');$method = $ref->getMethod("bind_param");$method->invokeArgs($res,$refArr);$res->execute();
?>Otthon utána olvasok majd (munkanap végén).
Van ezzel tapasztalatotok? Hogyan lehetne ezt megoldani?
Új hozzászólás Aktív témák
- eBay-es kütyük kis pénzért
- Vezetékes FEJhallgatók
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Horizon Hunters Gathering: taktikai ko-op játékkal bővül a Horizon-univerzum
- Villanyszerelés
- Windows 7
- Apple MacBook
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Amazfit Active 2 NFC - jó kör
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- További aktív témák...
- Xiaomi Redmi Note 14 Pro / 8/256GB / Káértyafüggetlen / 12Hó Garancia
- Lenovo 14 Yoga Slim6 WUXGA OLED Ryzen5 7540U 4.9Ghz 16GB DDR5 512GB SSD Radeon 740M Win11 Garancia
- Geforce GTX 1050, 1050 Ti, 1060, 1650, 1660 - GT 1030 - Low profile is (LP)
- LG 25GR75FG - E-Sport Monitor - FHD 360Hz 1ms - NVIDIA Reflex + G-sync - AMD FreeSync - HDR 400
- Bomba ár! Dell Latitude 5410 - i5-10GEN I 16GB I 256SSD I HDMI I 14" FHD I Cam I W11 I Garancia!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

