Pingwiins Posted March 6, 2011 Report Share Posted March 6, 2011 Visiem labdien :) Man ir pilni 14 gadi. Es gribu iemacities php. Maku stradat ar mysql datubazem, esmu ljoti speigs :) Pabeidzu html/css kursus "progmeistera" uz 10. Apnika jau weidot tikai dizajnus, gribas jauno limeni. Te gribeju uzzinat kur sniedz kvalitativos kursus ar njuansiem. Cena nau nozimiga, valoda ari, bet labak butu ja krieviski :) Liels paldies. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted March 6, 2011 Report Share Posted March 6, 2011 Sveiks! Prieks, ka ir apņēmība. Cik pats zinu, "Progmeistars" ir pats labākais (Mans draugs ir pabeidzis), ko Latvijā vispār var atrast. =] Tagad paliek tikai viens mācīšanās ceļš... Pašmācība! Protams, tas nav tik viegli kā ja Tev visu pasneidz uz paplātes, bet dzīvē jau arī tā būs, ka okej - pabeigsi skolu (skolas)... tālāk? Tu jau nebusi iemācījies visu, ko vien var un kas ir vajadzīgs! Pašam būs jāturpina apgūt visu... ) Teiksim Es pats esmu sasniedzis to, ko esmu. Nevarētu teikt, ka tas nav nekas... Sešpadsmit gados. Tur sāku ar HTML, CSS... Tagad visvairāk ir PHP (tagad sāku draudzēties ar "framework'iem")... Lai gan zinu daudz ko no JavaScript, SQL, pat pamatus Pascal, C++... Jebkurā gadījumā mēģini pats! Mans ieteikums. ) Lūk daži linki... (ceru, ka sapratu pareizi un vēlies iemācīties PHP) php.net W3Schools.com Nettuts+ StackOverflow.com Quote Link to comment Share on other sites More sharing options...
m8t Posted March 6, 2011 Report Share Posted March 6, 2011 @daGrevis http://w3fools.com/ Quote Link to comment Share on other sites More sharing options...
Pingwiins Posted March 6, 2011 Author Report Share Posted March 6, 2011 Liels paldies :) Centishos apgut kaut ko pats :) Quote Link to comment Share on other sites More sharing options...
daGrevis Posted March 6, 2011 Report Share Posted March 6, 2011 @daGrevis http://w3fools.com/ Tie ir sīkumi... ) Quote Link to comment Share on other sites More sharing options...
sandis_m Posted March 6, 2011 Report Share Posted March 6, 2011 Dzīvesskola pati labākā. Quote Link to comment Share on other sites More sharing options...
m8t Posted March 6, 2011 Report Share Posted March 6, 2011 Tie ir sīkumi... ) echo "Hello World"; Nu, pēc idejas simbols ";" jau arī ir tikai tāds sīkums, bet re ka bez viņa nevar iztikt. Vai arī funkcija mysql_real_escape_string(). Jā, var jau arī to (un citas taml. funkcijas) neizmantot, bet rezultāts kāds būs? Nedroša lapa? Programmēšana ir tāda sīkumaina lieta. Pie katra sīkuma jāpiekasās ;) Quote Link to comment Share on other sites More sharing options...
wintermute Posted March 6, 2011 Report Share Posted March 6, 2011 Mūsdienās jaunu kodu ar mysql_* funkcijām vispār rakstīt nevajadzētu. Tas extension's kopš 5.3 versijas vairs netiek īsti supportēts. Tā vietā vajadzētu izmanto PDO ( http://php.net/pdo ) vai vismaz MySQLi ( http://php.net/mysqli ) , un query'us rakstīt izmantojot "prepared statements". Tad nekāda escape'ošana nav vajadzīga. Quote Link to comment Share on other sites More sharing options...
codez Posted March 6, 2011 Report Share Posted March 6, 2011 Tā vietā vajadzētu izmanto PDO ( http://php.net/pdo ) vai vismaz MySQLi ( http://php.net/mysqli ) , un query'us rakstīt izmantojot "prepared statements". Tad nekāda escape'ošana nav vajadzīga. prepeared statment samazina ātrdarbību un palielina trafiku starp db klientu un serveri (pietiekamā mērā, lai to ņemtu vērā), gadījumos, kad kveriji tiek izpildīti vienu vai tikai dažas reizes, kā tas parasti ir ar PHP aplikācijām, jo requesti būtībā ir stateless un katru reizi liekā sql statement-a sagatavošana ir jādara no jauna. Ja nepatīk manuāla eskeipošana, tad izveidojam db klasi, kas to dara automātiski. Ja tomēr mums ātrdarbība neinteresē tik daudz, bet svarīga ir ērta izstrāde, tad izmantojam ORM abstrakcijas slāni un nedomājam par to, vai apakšā ir parasti vai prepared statement. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted March 6, 2011 Report Share Posted March 6, 2011 echo "Hello World"; Nu, pēc idejas simbols ";" jau arī ir tikai tāds sīkums, bet re ka bez viņa nevar iztikt. Vai arī funkcija mysql_real_escape_string(). Jā, var jau arī to (un citas taml. funkcijas) neizmantot, bet rezultāts kāds būs? Nedroša lapa? Tie nav sīkumi. Ir taču jāmāk atšķirt! xD Quote Link to comment Share on other sites More sharing options...
wintermute Posted March 6, 2011 Report Share Posted March 6, 2011 prepeared statment samazina ātrdarbību un palielina trafiku starp db klientu un serveri (pietiekamā mērā, lai to ņemtu vērā), gadījumos, kad kveriji tiek izpildīti vienu vai tikai dažas reizes, kā tas parasti ir ar PHP aplikācijām, jo requesti būtībā ir stateless un katru reizi liekā sql statement-a sagatavošana ir jādara no jauna. Interesanti no kurienes šāda informācijas. Iemesli kāpēc lietot prepared statement'us pēc manām domām ir šādi: drošība - datubāze tiek aizsargāda no injekcijām ātrdarbība - tiek ietaupīts laiks uz pieprasījuma izpildes plāna pārrēķināšanas (tie tiek cache'oti ) , pārsūtīto datu apjoma un manipulācijām ar datu tipiem ērtība - ir iepējams padot masīvu ar DB laikiem abilstošām atslēgam pa tiešo iekš execute() vai arī piesaistīt mainīgo references noteiktam laukam Liekas izņēmums ir MySQL versijas, kuras ir vecākas par 5.1 , jo tām nebija implementēts cache priekš prepared statement'iem. Random linki : http://forge.mysql.com/wiki/Which_PHP_Driver_for_MySQL_should_I_use http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/ http://blog.ulf-wendel.de/?p=187 Quote Link to comment Share on other sites More sharing options...
codez Posted March 7, 2011 Report Share Posted March 7, 2011 (edited) drošība - datubāze tiek aizsargāda no injekcijām mysqli ir tāda metode kā real_escape_string, kas pilnībā aizsargā no injekcijām. Tik pat labi arī ar PDO, kāds var iedomāties, ka viņam vajag kverijā dinamiski mainīt lauku pēc kura taisa ORDER BY un viņš to paņem no user inputa un ieliek pa tiešo kverijā un, lūdzu, PDO ielaids sql injekciju. Tā, ka pret muļķiem, arī PDO pret injekcijām nepasargā, tad jau kāds labs ORM varētu pilnībā neļaut muļķiem ielaist injekcijas. ātrdarbība - tiek ietaupīts laiks uz pieprasījuma izpildes plāna pārrēķināšanas (tie tiek cache'oti ) , pārsūtīto datu apjoma un manipulācijām ar datu tipiem 1)Kešoti tiek arī parasti statement-i 2)Plāna nepārrēķināšana tiek izmantota tikai gadījumā, ja vienas db konekcijas laikā, tu izpildi statment-a sagatavošanu un tad izpildi vairākus pieprasījumus ar šo sagatavoto statement-u. Bet tākā web aplikācijas PHP ir stateless, tad katrs pieprasījums taisa jaunu konekciju un realitātē tikai specifiskos gadījumos tev nāksies izpildīt vairākus vienādus kverijus vienas konekcijas laikā, tāpēc vidēji tas radīs aizturi aplikācijas darbībā, jo vajadzēs papriekšu sagatavot statement-u, tad klientam atgriezt atbildi par statement-a sagatavošanu, un tikai tad sūtīt datus un tikai tad saņemt atbildi - strādās lēnāk un palielināsies trafiks starp db klientu(php) un db serveri. ērtība - ir iepējams padot masīvu ar DB laikiem abilstošām atslēgam pa tiešo iekš execute() vai arī piesaistīt mainīgo references noteiktam laukam Jebkurš normāls programmētājs izmanto db klasi, kura automātiski eskeipo un kurai var padot datus dažādās formās, tāpēc parasti tās var realizēt visu to pašu un pat vairāk. Piemēram, klasē, kuru izmantoju pats, var rakstīt šādi (apakšā nav prepared statement-s): $user=Db::row("SELECT * FROM users WHERE id=%s",$_GET['userid']]); vai $comments=Db::rows("SELECT * FROM comments WHERE articleid=%aid$s and publicated=%pub$s", array( "pub"=>1, "aid"=>27 )); Lai gan reāli es praksē 90% gadījumu izmantoju ORM un tikai reizēs, kad ir vajadzīgi efektīvi kveriji, kurus ORM nemāk uzģenerēt, atgriežos pie pliku sql rakstīšanas. Edited March 7, 2011 by codez Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.