$db_username='username';$db_password='password';?>在例9-2中,我们创建的文件使用跟Web服务器放在同一台机器上的数据库,并指定的数据库的名字,用户名和密码。例9-2:db_login.php文件示例图9-2显示了如何在其他PHP文件中使用这个文件。我们会继续使用在第七章中创建的数据库。图9-2:在多文件中重复使用登录信息例9-3是精简后的,用mysqldump命令得到的重建这个数据库的SQL命令。例9-3:重建测试数据库的SQL语句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&;D
HTMLCookbook','2005-02-10');如果你在第8章中没有创建这些表,可以将例9-3中的代码保存成文件backup.sql,然后在命令行执行命令,命令格式如下:mysql-uusername-ppassword-Ddatabase_name
".mysql_error());}
函数mysql_connect的参数是数据库服务器主机、用户名和密码。如果连接成功,就会返回新建立的连接,如果不能建立连接就会返回FALSE。检查这个函数的返回值来确保连接的确建立起来了。如果遇到问题,比如不正确的密码,可以使用mysql_error打印一条友好的警告信息以及导致错误的原因。注意:注意:不仅仅是打印一条错误信息,die()还会停止这个程序的执行。对于大部分数据库驱动网页来说,不能访问数据库就意味着网页毫无用处。通过使用die来终止程序的执行,可以避免用户看到大量的错误信息。请注意我们还没有指定数据库的名字。诊断连接错误你可能遇到的一个错误是:Fatalerror:Calltoundefinedfunctionmysql_connect()inC:\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\htdocs\db_test.phponline4这个错误发生的原因是下载安装的PHP5.x默认没有包括对MySQL的支持。解决这个问题需要将php_mysql.dll文件从PHP压缩包例的ext/目录复制到C:/php,并修改C:\WINDOWS\php.ini文件,确保下面两行没有被注释掉(注释的方法在行首使用分号)。extension_dir="c:/PHP/ext/"extension=php_mysql.dll这样PHP扩展的目录就被设为C:\PHP,MySQL的扩展也会被使用。在编辑php.ini文件的时候,你可以使用编辑器的搜索功能来检查这两行是否已经存在,只是需要去掉注释,并且需要重新输入。重新启动A