ºìÁªLinuxÃÅ»§
Linux°ïÖú

PHP¿ª·¢Õß³£·¸µÄ10¸öMySQL´íÎó

·¢²¼Ê±¼ä:2012-01-18 09:26:03À´Ô´:ºìÁª×÷Õß:lavecgn
¡¡¡¡À´Ô´:cnw

¡¡¡¡Êý¾Ý¿âÊÇWeb´ó¶àÊýÓ¦Óÿª·¢µÄ»ù´¡¡£Èç¹ûÄãÊÇÓÃPHP£¬ÄÇô´ó¶àÊý¾Ý¿âÓõÄÊÇMySQLÒ²ÊÇLAMP¼Ü¹¹µÄÖØÒª²¿·Ö¡£PHP¿´ÆðÀ´ºÜ¼òµ¥£¬Ò»¸ö³õѧÕßÒ²¿ÉÒÔ¼¸¸öСʱÄÚ¾ÍÄÜ¿ªÊ¼Ð´º¯ÊýÁË¡£µ«Êǽ¨Á¢Ò»¸öÎȶ¨¡¢¿É¿¿µÄÊý¾Ý¿âÈ·ÐèҪʱ¼äºÍ¾­Ñé¡£ÏÂÃæ¾ÍÊÇһЩÕâÑùµÄ¾­Ñ飬²»½ö½öÊÇMYSQL£¬ÆäËûÊý¾Ý¿âÒ²Ò»Ñù¿ÉÒԲο¼¡£

¡¡¡¡1.ʹÓÃMyISAM¶ø²»ÊÇInnoDB

¡¡¡¡MySQLÓкܶàµÄÊý¾Ý¿âÒýÇ棬µ¥Ò»°ãÒ²¾ÍÓÃMyISAMºÍInnoDB¡£

¡¡¡¡MyISAM ÊÇĬÈÏʹÓõġ£µ«Êdzý·ÇÄãÊǽ¨Á¢Ò»¸ö·Ç³£¼òµ¥µÄÊý¾Ý¿â»òÕßÖ»ÊÇʵÑéÐԵģ¬ÄÇôµ½´ó¶àÊýʱºòÕâ¸öÑ¡ÔñÊÇ´íÎóµÄ¡£MyISAM²»Ö§³ÖÍâ¼üµÄÔ¼Êø£¬ÕâÊDZ£Ö¤Êý¾ÝÍêÕûÐԵľ«»ªËùÔÚ°¡¡£ÁíÍ⣬MyISAM»áÔÚÌí¼Ó»òÕ߸üÐÂÊý¾ÝµÄʱºò½«Õû¸ö±íËøס£¬ÕâÔÚÒÔºóµÄÀ©Õ¹ÐÔÄÜÉÏ»áÓкܴóµÄÎÊÌâ¡£

¡¡¡¡½â¾ö°ì·¨ºÜ¼òµ¥£ºÊ¹ÓÃInnoDB¡£

¡¡¡¡2.ʹÓÃPHPµÄmysql·½·¨

¡¡¡¡PHP´ÓÒ»¿ªÊ¼¾ÍÌṩÁËMySQLµÄº¯Êý¿â¡£ºÜ¶à³ÌÐò¶¼ÒÀÀµÓÚmysql_connect¡¢mysql_query¡¢mysql_fetch_assocµÈµÈ£¬µ«ÊÇPHPÊÖ²áÖн¨Ò飺

¡¡¡¡Èç¹ûÄãʹÓõÄMySQL°æ±¾ÔÚ4.1.3Ö®ºó£¬ÄÇôǿÁÒ½¨ÒéʹÓÃmysqliÀ©Õ¹¡£

¡¡¡¡mysqli£¬»òÕß˵MySQLµÄ¸ß¼¶À©Õ¹£¬ÓÐһЩÓŵ㣺

¡¡¡¡ÓÐÃæÏò¶ÔÏóµÄ½Ó¿Ú

¡¡¡¡prepared statements(Ô¤´¦ÀíÓï¾ä£¬¿ÉÒÔÓÐЧ·ÀÖ¹SQL-×¢Èë¹¥»÷£¬»¹ÄÜÌá¸ßÐÔÄÜ)

¡¡¡¡Ö§³Ö¶àÖÖÓï¾äºÍÊÂÎñ

¡¡¡¡ÁíÍ⣬Èç¹ûÄãÏëÖ§³Ö¶àÊý¾Ý¿âÄÇôӦ¸Ã¿¼ÂÇÒ»ÏÂPDO¡£

¡¡¡¡3.²»¹ýÂËÓû§ÊäÈë

¡¡¡¡Ó¦¸ÃÊÇ£ºÓÀÔ¶±ðÏàÐÅÓû§µÄÊäÈë¡£Óúó¶ËµÄPHPÀ´Ð£Ñé¹ýÂËÿһÌõÊäÈëµÄÐÅÏ¢£¬²»ÒªÏàÐÅJavascript¡£ÏñÏÂÃæÕâÑùµÄSQLÓï¾äºÜÈÝÒ׾ͻᱻ¹¥»÷£º

¡¡¡¡$username = $_POST["name"];

¡¡¡¡$password = $_POST["password"];

¡¡¡¡$sql = "SELECT userid FROM usertable WHERE username=?$username?AND password=?$password?;"; // run query...

¡¡¡¡ÕâÑùµÄ´úÂ룬Èç¹ûÓû§ÊäÈ롱admin¡¯;¡±ÄÇô£¬¾ÍÏ൱ÓÚÏÂÃæÕâÌõÁË£º

¡¡¡¡SELECT userid FROM usertable WHERE username=?admin?;

¡¡¡¡ÕâÑù¾ÍÄܲ»ÊäÈëÃÜÂ룬¾Íͨ¹ýadminÉí·ÝµÇ¼ÁË¡£

¡¡¡¡4.²»Ê¹ÓÃUTF-8

¡¡¡¡ÄÇЩӢÃÀ¹ú¼ÒµÄÓû§£¬ºÜÉÙ¿¼ÂÇÓïÑÔµÄÎÊÌ⣬ÕâÑù¾ÍÔì³ÉºÜ¶à²úÆ·¾Í²»ÄÜÔÚÆäËûµØ·½Í¨Ó᣻¹ÓÐһЩGBK±àÂëµÄ£¬Ò²»áÓкܶàµÄÂé·³¡£

¡¡¡¡UTF-8½â¾öÁ˺ܶà¹ú¼Ê»¯µÄÎÊÌâ¡£ËäÈ»PHP6²ÅÄܱȽÏÍêÃÀµÄ½â¾öÕâ¸öÎÊÌ⣬µ«ÊÇÒ²²»·Á°­Ä㽫MySQLµÄ×Ö·û¼¯ÉèÖÃΪUTF-8¡£

¡¡¡¡5.¸ÃÓÃSQLµÄµØ·½Ê¹ÓÃPHP

¡¡¡¡Èç¹ûÄã¸Õ½Ó´¥MySQL£¬ÓÐʱºò½â¾öÎÊÌâµÄʱºò¿ÉÄÜ»áÏÈ¿¼ÂÇʹÓÃÄãÊìϤµÄÓïÑÔÀ´½â¾ö¡£ÕâÑù¾Í¿ÉÄÜÔì³ÉһЩÀ˷ѺÍÐÔÄܱȽϲîµÄÇé¿ö¡£±ÈÈ磺¼ÆËãƽ¾ùÖµµÄʱºò²»ÊÊÓÃMySQLÔ­ÉúµÄAVG()·½·¨£¬¶øÊÇÓÃPHP½«ËùÓÐֵѭ»·Ò»±éÈ»ºóÀÛ¼Ó¼ÆËãƽ¾ùÖµ¡£

¡¡¡¡ÁíÍ⻹ҪעÒâSQL²éѯÖеÄPHPÑ­»·¡£Í¨³££¬ÔÚÈ¡µÃËùÓнá¹ûÖ®ºóÔÙÓÃPHPÀ´Ñ­»·µÄЧÂʸü¸ß¡£

¡¡¡¡Ò»°ãÔÚ´¦Àí´óÁ¿Êý¾ÝµÄʱºòʹÓÃÇ¿ÓÐÁ¦µÄÊý¾Ý¿â·½·¨£¬¸üÄÜÌá¸ßЧÂÊ¡£

¡¡¡¡6.²»ÓÅ»¯²éѯ

¡¡¡¡99%µÄPHPÐÔÄÜÎÊÌⶼÊÇÊý¾Ý¿âÔì³ÉµÄ£¬Ò»ÌõÔã¸âµÄSQLÓï¾ä¿ÉÄÜÈÃÄãµÄÕû¸ö³ÌÐò¶¼·Ç³£Âý¡£MySQLµÄEXPLAIN statement£¬Query Profiler£¬many other toolsµÄÕâЩ¹¤¾ß¿ÉÒÔ°ïÄãÕÒ³öÄÇЩµ÷ƤµÄSELECT¡£

¡¡¡¡7.ʹÓôíÎóµÄÊý¾ÝÀàÐÍ

¡¡¡¡MySQLÌṩһϵÁÐÊý×Ö¡¢×Ö·û´®¡¢Ê±¼äµÈµÄÊý¾ÝÀàÐÍ¡£Èç¹ûÄãÏë´æ´¢ÈÕÆÚ£¬ÄÇô¾ÍÊÇÓÃDATE»òÕßDATETIMEÀàÐÍ£¬Ê¹ÓÃÕûÐλòÕß×Ö·û´®»áÈÃÊÂÇé¸ü¼Ó¸´ÔÓ¡£

¡¡¡¡ÓÐʱºòÄãÏëÓÃ×Ô¼º¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬ÀýÈ磬ʹÓÃ×Ö·û´®´æ´¢ÐòÁл¯µÄPHP¶ÔÏó¡£Êý¾Ý¿âµÄÌí¼Ó¿ÉÄܺÜÈÝÒ×£¬µ«ÊÇÕâÑùµÄ»°£¬MySQL¾Í»á±äµÃºÜ±¿ÖØ£¬¶øÇÒÒÔºó¿ÉÄܵ¼ÖÂһЩÎÊÌâ¡£

¡¡¡¡8.ÔÚSELECT²éѯÖÐʹÓÃ*

¡¡¡¡²»ÒªÊ¹ÓÃ*ÔÚ±íÖзµ»ØËùÓеÄ×ֶΣ¬Õâ»á·Ç³£µÄÂý¡£ÄãÖ»ÐèҪȡ³öÄãÐèÒªµÄÊý¾Ý×ֶΡ£Èç¹ûÄãÐèҪȡ³öËùÓеÄ×ֶΣ¬ÄÇô¿ÉÄÜÄãµÄ±íÐèÒª¸ü¸ÄÁË¡£

¡¡¡¡9.Ë÷Òý²»×ã»òÕß¹ý¶ÈË÷Òý

¡¡¡¡Ò»°ãÀ´Ëµ£¬Ó¦¸ÃË÷Òý³öÏÖÔÚSELECTÓï¾äÖÐWHEREºóÃæËùÓеÄ×ֶΡ£

¡¡¡¡ÀýÈ磬¼ÙÈçÎÒÃǵÄÓû§±íÓÐÒ»¸öÊý×ÖµÄID(Ö÷¼ü)ºÍemailµØÖ·¡£µÇ¼֮ºó£¬MySQLÓ¦¸Ãͨ¹ýemailÕÒµ½ÏàÓ¦µÄID¡£Í¨¹ýË÷Òý£¬MySQL¿ÉÒÔͨ¹ýËÑË÷Ëã·¨ºÜ¿ìµÄ¶¨Î»email¡£Èç¹ûûÓÐË÷Òý£¬MySQL¾ÍÐèÒª¼ì²éÿһÏî¼Ç¼ֱµ½ÕÒµ½¡£

¡¡¡¡ÕâÑùµÄ»°£¬Äã¿ÉÄÜÏë¸øÿһ¸ö×ֶζ¼Ìí¼ÓË÷Òý£¬µ«ÊÇÕâÑù×öµÄºó¹û¾ÍÊÇÔÚÄã¸üлòÕßÌí¼ÓµÄʱºò£¬Ë÷Òý¾Í»áÖØÐÂ×öÒ»±é£¬µ±Êý¾ÝÁ¿´óµÄʱºò£¬¾Í»áÓÐÐÔÄÜÎÊÌâ¡£ËùÒÔ£¬Ö»ÔÚÐèÒªµÄ×Ö¶Î×öË÷Òý¡£

¡¡¡¡10.²»±¸·Ý

¡¡¡¡Ò²Ðí²»³£·¢Éú£¬µ«ÊÇÊý¾Ý¿âËð»Ù£¬Ó²ÅÌ»µÁË¡¢·þÎñÍ£Ö¹µÈµÈ£¬ÕâЩ¶¼»á¶ÔÊý¾ÝÔì³ÉÔÖÄÑÐÔµÄÆÆ»µ¡£ËùÒÔÄãÒ»¶¨ÒªÈ·±£×Ô¶¯±¸·ÝÊý¾Ý»òÕß±£´æ¸±±¾¡£

¡¡¡¡11.ÁíÍ⣺²»¿¼ÂÇÆäËûÊý¾Ý¿â

¡¡¡¡MySQL¿ÉÄÜÊÇPHPÓõÄ×î¶àµÄÊý¾Ý¿âÁË£¬µ«ÊÇÒ²²»ÊÇΨһµÄÑ¡Ôñ¡£ PostgreSQLºÍFirebirdÒ²ÊǾºÕùÕߣ¬ËûÃǶ¼¿ªÔ´£¬¶øÇÒ²»±»Ä³Ð©¹«Ë¾Ëù¿ØÖÆ¡£Î¢ÈíÌṩSQL Server Express£¬OracleÓÐ10g Express£¬ÕâЩÆóÒµ¼¶µÄÒ²ÓÐÃâ·Ñ°æ¡£SQLite¶ÔÓÚһЩСÐ͵ĻòÕßǶÈëʽӦÓÃÀ´ËµÒ²ÊDz»´íµÄÑ¡Ôñ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 1 ÌõÆÀÂÛ

  1. davemac ÓÚ 2012-01-19 15:20:07·¢±í:

    ѧϰÏÂ