php毕业设计外文翻译通过PHP访问MySQL.docx
- 文档编号:24885865
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:20
- 大小:23.79KB
php毕业设计外文翻译通过PHP访问MySQL.docx
《php毕业设计外文翻译通过PHP访问MySQL.docx》由会员分享,可在线阅读,更多相关《php毕业设计外文翻译通过PHP访问MySQL.docx(20页珍藏版)》请在冰豆网上搜索。
php毕业设计外文翻译通过PHP访问MySQL
GettingPHPtoTalktoMySQl
Nowthatyou’recomfortableusingtheMySQLclienttoolstomanipulatedatainthedatabase,youcanbeginusingPHPtodisplayandmodifydatafromthedatabase.PHPhasstandardfunctionsforworkingwiththedatabase.First,we’regoingtodiscussPHP’sbuilt-indatabasefunctions.We’llalsoshowyouhowtousetheThePHPExtensionandApplicationRepository(PEAR)database
functionsthatprovidetheabilitytousethesamefunctionstoaccessanysupporteddatabase.Thistypeofflexibilitycomesfromaprocesscalledabstraction.Inprogramminginterfaces,abstractionsimplifiesacomplexinteraction.Itworksby
removinganynonessentialpartsoftheinteraction,allowingyoutoconcentrateontheimportantparts.PEAR’sDBclassesareonesuchdatabaseinterfaceabstraction.Theinformationyouneedtologintoadatabaseisreducedtothebareminimum.ThisstandardformatallowsyoutointeractwithMySQL,aswellasotherdatabasesusingthesamefunctions.Similarly,otherMySQL-specificfunctionsarereplacedwithgenericonesthatknowhowtotalktomanydatabases.Forexample,theMySQL-specificconnectfunctionis:
mysql_connect($db_host,$db_username,$db_password);
versusPEAR’sDBconnectfunction:
$connection=DB:
:
connect("mysql:
//$db_username:
$db_password@$db_host/$db_database");
Thesamebasicinformationispresentinbothcommands,butthePEARfunctionalsospecifiesthetypeofdatabasestowhichtoconnect.YoucanconnecttoMySQLorothersupporteddatabases.We’lldiscussbothconnectionmethodsindetail.
Inthischapter,you’lllearnhowtoconnecttoaMySQLserverfromPHP,howtousePHPtoaccessandretrievestoreddata,andhowtocorrectlydisplayinformationtotheuser.
TheProcess
Thebasicstepsofperformingaquery,whetherusingthemysqlcommand-linetoolorPHP,arethesame:
•Connecttothedatabase.
•Selectthedatabasetouse.
•BuildaSELECTstatement.
•Performthequery.
•Displaytheresults.
We’llwalkthrougheachofthesestepsforbothplainPHPandPEARfunctions.
Resources
WhenconnectingtoaMySQLdatabase,youwillusetwonewresources.Thefirstisthelinkidentifierthatholdsalloftheinformationnecessarytoconnecttothedatabaseforanactiveconnection.Theotherresourceistheresultsresource.Itcontainsallinformationrequiredtoretrieveresultsfromanactivedatabasequery’sresultset.You’llbecreatingandassigningbothresourcesinthischapter.
QueryingtheDatabasewithPHPFunctions
Inthissection,weintroducehowtoconnecttoaMySQLdatabasewithPHP.It’squitesimple,andwe’llbeginshortlywithexamples,butweshouldtalkbrieflyaboutwhatactuallyhappens.WhenyoutryconnectingtoaMySQLdatabase,theMySQLserverauthenticatesyoubasedonyourusernameandpassword.PHPhandlesconnecting
tothedatabaseforyou,anditallowsyoutostartperformingqueriesandgatheringdataimmediately.
AsinChapter8,we’llneedthesamepiecesofinformationtoconnecttothedatabase:
•TheIPaddressofthedatabaseserver
•Thenameofthedatabase
•Theusername
•Thepassword
Beforemovingon,makesureyoucanlogintoyourdatabaseusingtheMySQLcommand-lineclient.
Figure9-1showshowthestepsofthedatabaseinteractionrelatetothetwotypesofresources.BuildingtheSELECTstatementhappensbeforethethirdfunctioncall,butitisnotshown.It’sdonewithplainPHPcode,notaMySQL-specificPHPfunction.
Figure9-1.Theinteractionbetweenfunctionsandresourceswhenusingthedatabase
IncludingDatabaseLoginDetails
You’regoingtocreateafiletoholdtheinformationforloggingintoMySQL.Storingthisinformationinafileyouincludeisrecommended.Ifyouchangethedatabasepassword,thereisonlyoneplacethatyouneedtochangeit,regardlessofhowmany
PHPfilesyouhavethataccessthedatabase.
Youdon’thavetoworryaboutanyonedirectlyviewingthefileandgettingyourdatabaselogindetails.Thefile,ifrequestedbyitself,isprocessedasaPHPfileandreturnsablankpage.
Let’scallthisfiledb_login.phpandplaceitinthesamedirectoryasyourotherPHPfiles.ThefileisrepresentedinExample9-1.
Example9-1.Atemplateforsettingdatabaseloginsettings
php
$db_host='hostnameofdatabaseserver';
$db_database='databasename';
$db_username='username';
$db_password='password';
?
>
InExample9-2,wecreatethisfiletouseadatabaseonthesamemachineasthewebserver.Weassignitadatabasename,username,andpassword.
php
$db_host='localhost';
$db_database='test';
$db_username='test';
$db_password='yourpass';
?
>
Figure9-2illustrateshowyou’regoingtousethisfilewithotherPHPfiles.You’regoingtocontinueusingthedatabasethatyoustartedtosetupinChapter7.
Figure9-2.Reusingthelogindetailsinmultiplefiles
Example9-3.TheSQLtorecreatethetestobjects(continued)
DROPTABLEIFEXISTSbooks;
CREATETABLEbooks(
title_idint(11)NOTNULLauto_increment,
titlevarchar(150)defaultNULL,
pagesint(11)defaultNULL,
PRIMARYKEY(title_id)
)ENGINE=MyISAMDEFAULTCHARSET=latin1;
--
--Dumpingdatafortablebooks
--
INSERTINTObooksVALUES(1,'LinuxinaNutshell',476),(2,'ClassicShellScripting',256);
--
--Tablestructurefortablepurchases
--
DROPTABLEIFEXISTSpurchases;
CREATETABLEpurchases(
idint(11)NOTNULLauto_increment,
uservarchar(10)defaultNULL,
titlevarchar(150)defaultNULL,
daydatedefaultNULL,
PRIMARYKEY(id)
)ENGINE=MyISAMDEFAULTCHARSET=latin1;
--
--Dumpingdatafortablepurchases
--
LOCKTABLESpurchasesWRITE;
INSERTINTOpurchasesVALUES(1,'Mdavis','RegularExpressionPocketReference','2005-02-15'),(2,'Mdavis','JavaScript&DHTMLCookbook','2005-02-10');
Ifyoudidn’tcreatethetablesinChapter8,thecodeinExample9-3canbesavedasbackup.sqlandrunfromthecommandpromptwiththefollowingsyntax:
mysql-uusername-ppassword-Ddatabase_name Usingthevaluesfromtheexamples,itbecomes: mysql-utest-pyourpass-Dtest Thedatabaseiscalledtest,anditconsistsofthreetablescalledbooks,authors,andpurchases.Eachtablehasafewsamplerows.That’senoughtogetusstartedqueryingfromPHP. ConnectingtotheDatabase Thefirstthingyouneedtodoisconnecttothedatabaseandchecktomakesurethere’saconnection.Includingthefilethatyousetuptostoreyourconnectioninformationallowsyoutousethevariablesinsteadofhardcodedvalueswhenyoucallthemysql_connectfunction,asshowninExample9-4.We’reassemblingonefile,db_test.php,byaddingthesecodesnippets. Example9-4.Includingtheconnectionvaluesandcallingmysql_connectindb_test.php //Includeourlogininformation include('db_login.php'); //Connect $connection=mysql_connect($db_host,$db_username,$db_password); if(! $connection){ die("Couldnotconnecttothedatabase: } Themysql_connectfunctiontakesthedatabasehost,username,andpasswordasparameters.Iftheconnectionissuccessful,alinktoadatabaseisreturned.FALSEisreturnedifaconnectioncan’tbemade.Checkthereturnvaluefromthefunctiontomakesurethere’saconnection.Ifthere’saproblem,suchasanincorrectpassword,printoutapolitewarningandthereasonfortheerrorusingmysql_error. Insteadofsimplyechoinganerrormessage,die()displaystheerrorandstopstheprogram.Notbeingabletoaccessthedatabasemakesmostdatabase-drivenpagesfairlyuselessandpreventstheuserfromseeingnumerouserrors. Noticethatwedidn’tspecifythedatabasenameyet. Troubleshootingconnectionerrors Oneerroryoumaygetis: Fatalerror: Calltoundefinedfunctionmysql_connect()inC: \ProgramFiles\Apache SoftwareFoundation\Apache2.2\htdocs\db_test.phponline4 ThiserroroccursbecausePHP5.xforWindowswasdownloaded,andMySQLsupportwasnotincludedbydefault.Tofixthiserror,copythephp_mysql.dllfilefromtheext/directoryofthePHPZIPfiletoC: \php,andthenC: \WINDOWS\php.ini. Makesuretherearetwolinesthatarenotcommentedoutbyasemicolon(;)atthebeginningofthelinelikethese: extension_dir="c: /PHP/ext/" extension=php_mysql.dll ThiswillchangetheextensiontoincludethedirectorytoC: /phpandincludetheMySQLextension,respectively.YoucanusetheSearchfunctionofyourtexteditortocheckwhetherthelinesarealreadythereandjustneedtobeuncommented,orwhethertheyneedtobeaddedcompletely. You’llneedtorestartApache,andthenMySQLsupportwillbeenabled. SelectingtheDatabase Nowthatyou’reconnected,thenextstepistoselectwhichdatabasetousewiththemysql_select_dbcommand.Ittakestwoparameters: thedatabasenameand,optionally,thedatabaseconnection.Ifyoudon’tspecifythedatabaseconnection,thedefaultistheconnectionfromthelastmysql_connect: //Selectthedatabase $db_select=mysql_select_db($db_database); if(! $db_select) { die("Couldnotselectthedatabase: } Again,it’sgoodpracticetocheckforanerroranddisplayiteverytimeyouaccessthedatabase. Whileit’spossibletocallmysql_select_dbmultipletimeswithinthesamescript,it’snotconsideredgoodpractice. Nowthatyou’vegotagooddatabaseconnection,you’rereadytoexecuteyourSQLquery. BuildingtheSQLSELECTQuery BuildingaSQLqueryisaseasyassettingavariabletothestringthatisyourSQLquery.Ofcourse,you’llneedtouseavalidSQLquery,orMySQLreturnswithanerrorwhenyouexecutethequery.Thevariablename$queryisusedsincethenamereflectsitspurpose,butyoucanchooseanythingyou’dlikefor
".mysql_error());
".mysql_error());
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- php 毕业设计 外文 翻译 通过 访问 MySQL