Hirdetés
- Lassacskán fenyőfát állítanak a hardverek
- Tudjuk, de nem tesszük: a magyarok többsége nem törődik adatai védelmével
- Mesébe illő csodakábelt tervezett a GeForce-ok leégése ellen a Segotep?
- Irodát kért, de gyárat kapott Elon Musk a Samsungtól
- Nyílt forráskódú lett a legegyszerűbben használható AI tartalomgeneráló
- Milyen egeret válasszak?
- Telekom TV SmartBox: szolgáltatói set-top box alacsony korlátokkal
- Hogy is néznek ki a gépeink?
- Pánik a memóriapiacon
- Lézervágás, gravírozás
- Hazavághatja a MicroSD memóriakártyák piacát a Biwin-féle Mini SSD
- TCL LCD és LED TV-k
- Projektor topic
- OLED TV topic
- Milyen TV-t vegyek?
Aktív témák
-
19.Norbika
tag
válasz
Sk8erPeter
#2129
üzenetére
Így van. Localhoston megesik hogy, egy jogosultsághoz nem rendelsz pass-t. az alapba nem egészséges. De ha migráltad a tljes adatbázist, akkor hozz létre egy új usert jelszóval, ezt meg kell adni természetesen az sql connectnél a php kódban is.
-
Sk8erPeter
nagyúr
Hát azért, mert localhoston, a MySQL-szerveren nem hoztad létre az "xyz" felhasználót, vagy nem adtál hozzá jelszót, vagy rossz jelszót adtál hozzá, vagy csak nem rendelted hozzá az engedélyeket a webshop táblájához... ezek valamelyike. Tehát ugyanaz a felhasználónév+jelszó páros legyen meg localhoston is, mint az éles MySQL-szerveren.
Ha nem lenne jelszó, az gáz lenne.
-
arisu
csendes tag
üdvözletem!
Akadna egy kis problémám. Ingyenes webtárhelyen megy a webshopom fejlesztése és szerettem volna újra üzembehelyezni localhoston is. Sajnos a gép és a rendszer nem nagyon engedte. Kivettem a jelszót, újraraktam a wampot, semmi.
: Undefined index: user-t ír és
Access denied for user 'xyz'@'localhost' (using password: YES)Pedig nem használok jelszót, nincs semmiféle ilyen dolog. Az indexpen pedig definiálva van, ezért nem értem, mert online teljes mértékben működik :S
-
coco2
őstag
Szijasztok!
MySQL szerverhez keresgetek lehetőségeket adatbázis csak olvasható replikák létrehozásához. Olyasmi kellene, ami elküldi az olvasási kérdéseket a távoli szerveren lévő adatbázisnak, és gyorsító tárazza is helyileg, ami visszaérkezett. Írásnál persze írni kell mindkettőt, de kiolvasásra elég, ha pld 5 percenként frissül a helyi adat, hogy terhelést tudjak levenni a távoli szerverről. Ismer valaki ilyesmi supportot mysql-hez? Vagy ez tipikusan olyan dolog, amit mindenki írjon meg magának testre szabottan?
Google pajtás csak Amazon db találatokat dobált ki nekem, de nekem nem amazon szolgáltatásom van, hanem saját kézben a vas, és amit arra telepítek. (És persze az sem ártana, ha nem 100milliókat kellene kifizetnem.)
-
Sk8erPeter
nagyúr
válasz
Peter Kiss
#2123
üzenetére
Tehát az eredeti állításom, miszerint a query-k konkatenálását az IN-jellegű lekéréseknél nem úszod meg, igaz.
A megvalósítás viszont megint más kérdés, ez is tény. A "behelyettesítés" meg valóban úgy a "biztonságos", ahogy írod. Bár ha valakinek van némi fogalma az adatbázis-lekérésekről, az remélhetőleg nem fog így se-úgy se escape-eletlenül hozzáfűzögetni semmit. 
-
cucka
addikt
válasz
Peter Kiss
#2123
üzenetére
Szerintem ha alacsony szinten akarod kezelni az adatbázist (tehát query-ket akarsz összerakni), akkor jó a PDO meg bármi más. Ha magas szinten akarod kezelni, akkor meg beizzítasz egy ORM-et.
Amit te szeretnél csinálni, az az, hogy becsomagolod a PDO-t, mert így talán szebb lesz. Nem lesz az, mert amit leírsz, az csak szintaktikai varázslat, nincs neki túl sok funkcionális haszna. Ezernyi hasznosabb dolgot tudnék mondani, mint megírni a hatszázezredik php-s adatbázis wrapper osztályt. -
Peter Kiss
őstag
válasz
Sk8erPeter
#2122
üzenetére
Igen, csak nem adatokkal.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss
#2121
üzenetére
"közben kiegészítem a query-t ?-ekkel (nem használok nevesített paraméterek), majd elrakom a tömböt. Végrehajtáskor már megvan a kész query"
Tehát akkor kénytelen vagy konkatenálni a query-t, ugye?
-
Peter Kiss
őstag
válasz
Sk8erPeter
#2120
üzenetére
Röviden annyi, hogy végigmegyek a tömbön, amiben pl. számok vannak, közben kiegészítem a query-t ?-ekkel (nem használok nevesített paraméterek), majd elrakom a tömböt. Végrehajtáskor már megvan a kész query (pl. "SELECT * FROM tbl WHERE ID IN (?, ?, ?, ?)"), megvan minden adat, mehet a sima PDO-s binding, és megy is rendesen.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss
#2119
üzenetére
Hogyan használod? Pont erre lennék kíváncsi.
Nálam a sima implode-os prepared statementes átadás rosszul működik, nem adja vissza azt az eredményhalmazt, amit várok, és amit akkor ad vissza, ha simán lefuttatom a query-t, megadott id-kkel. -
Peter Kiss
őstag
válasz
Sk8erPeter
#2118
üzenetére
Persze, használtam már, használom is.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss
#2117
üzenetére
Ki is próbáltad az IN-nél?
Én csak kerülő megoldásról tudok, ahogy itt írják:select users.id
from users
join products
on products.user_id = users.id
where find_in_set(cast(products.id as char), :products)Itt a
find_in_set(cast(products.id as char), :products)
a lényeg, feltételezem, ez jóval lassabb, mint egy "rendes" IN...localhoston gyorsan tesztelve az előbbi 0.0276 másodperc, míg a "normál" IN 0.0008 másodperc, ami azért igen jelentős különbség azt tekintve, hogy összesen 4 sor van a teszttáblámban. Óriásira nőtt adatbázisnál szerintem ez elég durva különbségekhez vezethet!
==
"Egyébként szerintem van értelme pl. PDO köré is wrapper-t írni, mert nagyon ocsmányul néz ki."
Mi a baj vele?"Főleg akkor hasznos, ha ismeretlen számú paraméterekkel kell dolgozni."
Array-t is átadhatsz az execute()-nak. -
Peter Kiss
őstag
válasz
Sk8erPeter
#2113
üzenetére
Ha csak paraméterek behelyettesítéséről beszélünk, akkor az IN jellegűeknél sem kell összefűzni semmit se, működik a prepared statement-es megoldás. Ha úgy járnánk el, hogy majdnem mindenhol helyesen használjuk a prepared statement-eket, csak egy pár helyen nem, akkor olyan, mintha nem is használnánk prepared statement-eket.
---
Egyébként szerintem van értelme pl. PDO köré is wrapper-t írni, mert nagyon ocsmányul néz ki.
Főleg akkor hasznos, ha ismeretlen számú paraméterekkel kell dolgozni. -
Briganti
tag
válasz
Sk8erPeter
#2113
üzenetére
Hupsz, bocsi

De jar neked a
a szep kerek valaszert 
-
papa019
senior tag
válasz
Sk8erPeter
#2113
üzenetére
Értem.

Így már működik.
-
Sk8erPeter
nagyúr
válasz
papa019
#2110
üzenetére
Akkor bocsánat, nem szóltam, csak ugyanúgy nézett ki a dolog, mint korábban, konkatenáltad, ugyanaz a változónév, stb., ezért hittem azt, hogy ugyanazt a saját osztályt használod, mint korábban.

Ha PDO-t használsz, akkor onnantól - szerencsére - a mysql_ kezdetű függvények megszűntek létezni!! Thank God!

Tehát pl. a mysql_fetch_row() használatát felejtsd el innentől örökre.
Ahogy az is megszűnt létezni, hogy összefűzögesd a query-ket, azt NEM SZABAD. Azt is felejtsd el. Csak NAGYON ritkán van rá szükség, pl. az IN(...) jellegű query-knél.Tehát pl.:
$result = $DB->query("SELECT * FROM places WHERE id = '$parent_area')");
$result->setFetchMode(PDO::FETCH_COLUMN);
while($row = $result->fetch())
{
$has_parent=$row['parent_has_parent'];
}HELYETT
$sth = $DB->prepare('SELECT * FROM places WHERE id = :id');
$sth->bindParam(':id', $parent_area, PDO::PARAM_INT);
$sth->execute();
$myResults = array();
while($row = $sth->fetch(PDO::FETCH_ASSOC)){
// do something with this row....
$has_parent=$row['parent_has_parent'];
if($has_parent){
// ...
}
else{
// ...
}
$myResults[] = $row;
}===
(#2111) Briganti : rossz helyre címezted.

-
Briganti
tag
válasz
Sk8erPeter
#2109
üzenetére
adj egy var_dump -ot a $result valtozodnak, hogy nezd meg mit terit vissza a $DB->query() fugvenyed
-
papa019
senior tag
válasz
Sk8erPeter
#2109
üzenetére
A config.php:
try {
$DB = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
}
catch(PDOException $e)
{
echo $e->getMessage();
}Tudtommal ez PDO.
De a hibát továbbra sem értem. -
Briganti
tag
válasz
papa019
#2105
üzenetére
Ezen a linken megnezheted hogy hol tevedtel

Ha nem josz ra akkor segitek

-
papa019
senior tag
válasz
Briganti
#2103
üzenetére
Még egy kérdésem lenne:
Ha csinálok egy ilyen kódot:$result = $DB->query("SELECT * FROM places WHERE id = '$parent_area')");
$result->setFetchMode(PDO::FETCH_COLUMN);
while($row = $result->fetch())
{
$has_parent=$row['parent_has_parent'];
}Akkor a PHP hibát ír ki:
SCREAM: Error suppression ignored for
( ! ) Fatal error: Call to a member function setFetchMode() on a non-objectA lekérdezés egyetlen sort ad ki eredményül, ennek az egyik attribútumából szeretnék változót létrehozni. Miért nem működik ez a megoldás, és mi lehet a helyes megoldás erre?
Ha így próbálom megoldani:
$result = $DB->query("SELECT parent_has_parent FROM places WHERE id = '$parent_area')");
$row = mysql_fetch_row($result);
echo 'alert('.$row[0].')';Akkor pedig az alábbi hiba van:
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\wamp\www\ajaxPost.php on line 20
-
papa019
senior tag
Köszönöm, de nekem place id van megadva.
Viszont ez alapján már menni fog szerintem. -
papa019
senior tag
Sziasztok!
Egy bonyolultabb lekérdezést szeretnék megvalósítani, de már elég régen tanultam mysql-t és sehogy sem jön össze. A lényeg, hogy van két tábla: az egyik a places, amiben van egy id és egy category attribútum, a másik a categories, amiben van szintén egy id és egy level attribútum. A places category attribútuma a categories id-je.
A lekérdezéshez van egy place $id valtozóm a php kódban. Azt szeretném elérni, hogy azokat a placeeket jelölje ki a select, amiknek a level attribútuma kisebb, mint az adott place kategóriájának level attribútuma. -
sanyilpa18
csendes tag
sziasztok. hogyne lehetne megoldani hogy egy x weboldal postjait és egy teljes másik dizajnal rendelkezo y oldal postjait egy xy oldalon is töltse be. ugyanakkor egy regisztracioval mindhárom oldalon belehessen lépni. wordpress cms oldalról lenne szó... köszönöm aki segít
Aktív témák
- iPhone topik
- Milyen egeret válasszak?
- Kerékpárosok, bringások ide!
- Hazai akkumulátorrekordra pályázik a OnePlus 15R
- One otthoni szolgáltatások (TV, internet, telefon)
- Gmail
- Mibe tegyem a megtakarításaimat?
- Telekom TV SmartBox: szolgáltatói set-top box alacsony korlátokkal
- Teljes verziós játékok letöltése ingyen
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- Xiaomi 13 256/8GB 2024
- Karácsonyi Akció ! PHILIPS Ambilight 48OLED759/12 4K OLED Smart 120Hz Gaming TV
- Felsőkategóriás AMD Gamer PC-Számítógép! Beszámítás! R7 9800X3D / 9070XT / 32GB DDR5 / 2TB SSD!
- Gamer PC-Számítógép! Csere-Beszámítás! I7 10700 / 32GB DDR4 / RX 6700XT 12GB / 512 SSD + 1TB HDD
- bontott működő alkatrészek
- GYÖNYÖRŰ iPhone XR 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3995, 100% Akksi
- HP ProDesk 600 G4 i5-8100 16GB 512GB 1 év garancia
- Apple iPhone 12 128GB,Átlagos,Adatkabel,12 hónap garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- LG 27MR400 - 27" IPS LED - 1920x1080 FHD - 100hz 5ms - AMD FreeSync - Villódzásmentes
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


Főleg akkor hasznos, ha ismeretlen számú paraméterekkel kell dolgozni.
no para, gondoltam, hogy csak véletlenül mellément
a szep kerek valaszert





