Mit kell tartalmaznia egy .sql fájlnak azon túl,hogy CREATE TABLE meg INSERT INTO?
Ha én localhostról phpmyadminból kiexportálok egy .sql fájlt (amiben táblák vannak mintaadatokkal) mit kell tartalmaznia ahhoz, hogy ha egy tárhelyen az install.php-vel bekérem a fájlt,rendesen lefusson? Addig rendben,hogy van benne CREATE TABLE meg INSERT INTO,de látok benne még ezen kívül pár olyan dolgot,amit nem tudom,hogy szükséges-e,vagy elhagyható. Hol találok erről leírást?
php részlet:
■ php részlet:
$file ='data.sql';
if ($sql = file($file)) {
$query = '';
foreach($sql as $line) {
$tsl = trim($line);
if (($sql != '') && (substr($tsl, 0, 2) != "--") && (substr($tsl, 0, 1) != '#')) {
$query .= $line;
if (preg_match('/;\s*$/', $line)) {
mysql_query($query, $connection);
$err = mysql_error();
if (!empty($err))
break;
$query = '';
}
Dokumentáció
Ha saját cms telepítőhöz van
Kedves Lillilla! Szerintem
Szerintem specifikálni kell azokat az adatbáziskezelő típusokat, amiket a CMS támogat, és azok kezelésére fel kell készítened a CMS-t. Nem csak a .sql fájlokat kell szétválasztanod SQL nyelvjárások szerint, de a kódban futtatott lekérdezések esetén is szükség lehet erre.
Ha valóban teljesen kezdő vagy és nem előírás a feladatban, akkor én azt javasolnám, hogy támogass egyelőre csak egy adatbáziskezelőt. Lesz azzal is elég feladatod. De - ha tudod - tervezd úgy a CMS-t, hogy később bővíthető legyen a támogatott adatbázismotorok köre.
Üdv:
Dávid
Hasznalj PDO-t es akkor az
De egyebkent amilyen kerdeseket itt felteszel en abbol azt latom hogy rosszul kozelited meg a tanulast. Kb ahhoz tudnam hasonlitani, hogyha mondjuk egy szivmutetet szeretnel vegrehajtani, de azt se tudod egy verzest hogyan kell ellatni. Eloszor az alapokkal ismerkedj meg, aztan nezd meg open source rendszerek hogyan oldjak meg a telepitest(ha az alapok megvannak akkor nagyjabol erteni is fogod a kodot) es ez alapjan mar latni fogod milyen modszerekkel lehet megoldani bizonyos problemakat.
Én a tanfolyam hiányosságaira
Tedd már túl magad a mysql_
Legalább meglátja majd, hogy a számítástechnika már csak ilyen, folyamatosan változik, és képben kell lenni az újdonságokkal. Ez a tudás akkor jön jól, ha egyszer mégis csak olyan projekten kell dolgoznia, ahol régi rendszert kell támogatni, és akkor nem kell kétségbe esnie, hogy úristen, most mi lesz. Vagy mondjuk olyan fejlesztésbe kezd bele, ahol szempont a gyorsaság, és a prepared statementek nem adnak kielégítő eredményt, vagy például a lekérdezéseket dinamikusan állítják elő, és túl macerás a preparálás.
Nem fogom túltenni magam
Ha jó az oktatás, nem fog kétségbe esni semmitől. Szerintem sokkal szerencsésebb, ha a régi rendszernek kell utánaolvasnia, mert éppen beszívott egy régebbi kódbázist, mintha az újnak (újnak, omg, mondjuk azt, hogy a jelenleginek...) kéne utánaolvasnia. Az már rég rossz. Persze a leges-legrosszabb, ha maga is "régi kódbázis"-okat kezd gyártani, amiket aztán mások szophatnak be, mert nem ismer mást...
Biztos tudod, de azért leírom: PDO-ban és mysqli-ben sem csak prepared statementeket lehet használni. Ha tényleg nagyon nincs más út, lehet összefűzögetni ezekkel is (érted, mindkét utat járhatod velük, a régivel csak az egyiket).
Tapasztalatból mondva, inkább a megszokás viszi az összefűzögetés felé az embert, mint bármi más. Azok a húde speciális igényű projektek, amikről beszélni szoktál, annyira kis százalékát teszik ki a webes projekteknek, és annyira kevés webprogramozó dolgozik ilyenen ténylegesen, hogy nem hiszem, hogy ennek kéne a szempontnak lennie.
Sajnálatos módon az ilyen tanfolyamokról kikerülő emberek egy teljesen alapvető projektet sem tudnak minőségi szinten elkészíteni, és ez nem az ő hibájuk. Koloncokat raknak a nyakukba, amiket aztán ha sikerül maguktól, kemény munkával ledobni, talán lehetnek jó szakemberek. Nem hogy fegyvertelenül küldik őket a csatába, hanem olyan kardokkal, amik látszólag érnek valamit, de az első csapástól szilánkokra esnek.
Az oktatásban átadott tudás
Továbbra is úgy gondolom, hogy ettől nem lesznek hátrányban a nebulók, sőt inkább rugalmasabban tudnak gondolkodni, mert több mindenre lesz rálátásuk.
Ha megnézzük, hogy milyen újításokat hoz a mysqli, rögtön látszik, hogy ezek nélkül meg lehet lenni nyugodtan az ő szintjükön, a speckó dolgokra úgyis nagyobb projekteknél lesz szükségük nagy valószínűséggel.
Mitől lenne több mindenre
"Gyerekek, az adatbázishoz a mysql_connect paranccsal csatlakozunk." - sajnos ez a gyakorlat, úgy tűnik.
Még egyszer elmondom, mert lehet, nem jött át: nem a mysql_ a lényeg, egyáltalán nem. Meg nem is a PHP. Ez csak egy tünet a sok közül.
Egyrészt ezek nem olyan új dolgok, informatikai szemmel nézve (a PDO asszem 10 éves körül lehet...). Másrészt aki ilyesmit tanít, annak fel kell készülnie rá, hogy ez egy ilyen terület, gyors a változás. Ha a tanár nem képzi magát folyamatosan, akkor szomorú, de alkalmatlan (csak hát nem tudnak senkit felvenni a helyére, nincs verseny, ki megy ma informatika tanárnak, ha kicsit is ért a szakmához - tisztelet a kivételnek). Ha az anyag nem frissül 1-2 évente, akkor rossz a rendszer.
Kezdőként én is pocsék kódot írtam. De a tanfolyam nem épp arra lenne jó, hogy megadja az alapokat? Mi értelme, ha utána ugyanolyan pocsék (vagy még rosszabb) kódot fogsz írni, mint valaki, aki megcsinált pár tutorialt a neten?
Ja, igen :D. Legalább azt megtanítanák...
Ez a gondolkodás az, ami nekem a legkevésbé tetszik az egészben, sőt elszomorít. Mitől olyan rohadt speckó a prepared statement (leszámítva, hogy te is a másik módszert ismerted először)? Egy kis weboldalban nem lehet SQL injection sebezhetőség? A kezdők értelemszerűen figyelmetlenebbek, könnyebben kifelejtik az eszképelést - nem éppen az ő kezükbe kéne a prepared statement leginkább? Nekem ez tök logikus, de javítson ki, aki szerint nem az. Nem épp a kezdők kezébe kéne adnunk azokat az eszközöket, amikkel kisebb eséllyel követnek el végzetes hibákat?
Mitől lenne több mindenre
Sőt, önmagában a prepared statementeket reklámozása csak tévhitbe ringat másokat, mert azt hiszik, hogy ennyiből meg is úszták az egészet, pedig a probléma kicsit összetettebb ennél (lásd második utas injektálás).
A fenti óra vagy tanfolyam célja nem az, nem lehet az, hogy hibátlan program írására tanítsa meg a résztvevőket, hanem az, hogy megismerkedjenek az alapokkal, ez nyilvánvaló lillilla kérdései alapján, például hogy minek és hogyan nézzen utána, meg át szeretné látni, milyen folyamatokból áll a szoftverkészítés. Egyszerűen még nincs azon a szinten, és jelen pillanatban teljesen érdektelen számára, hogy milyen adatbázisillesztőt használjon.
Nincs több mondandóm :).
Ha saját cms telepítőhöz van
A különböző adatbázismotorok: MySQL, PostgreSQL, MSSQL, Oracle és társaik, csak nagyon komoly alkalmazásoknak van arra szüksége, hogy támogassák mindet (vagy egy részüket).
Köszönöm nektek.
Ja, kb. erről beszéltem.
Tényleg nem bántásból, meg tisztelet a kivételnek, de a tanárok jelentős része is olyan, hogy semmilyen weboldalt nem bíznék rá. És akkor ő tanít. A szerencséd, hogy valószínűleg a vizsgáztatók is hasonló szinten lesznek ;). De erre azért ne alapozz :).
Gondolom ha már idáig eljutottál, végig szeretnéd csinálni, hajrá. Aztán ha megvan a papír, nekiállhatsz megtanulni, amiről papírt kaptál :).
Ezzel alaposan megjártad,
Esetleg megpróbálhatsz gyakornokként elhelyezkedni valahol, aztán ha belejössz, kérhetsz magasabb fizetést.
Angolul viszont sürgősen kezdj el tanulni, mert ezt viszont tudni kell, a jó hír, hogy egyrészt primitív nyelv, másrészt pedig a szükséges szókincs csak párezer szó.
Az elhelyezkedéssel nincs
Elég jól tudok angolul és németül is,de az informatikai szaknyelv nem tartozik bele egyik iskola kínálatába sem. Elvileg vizsga előtt lesz belőle 1 óránk.
Akkor a legjobb barátod a