数据库编程
当PHP带数据库,如MySQL,它允许更多的用户交互发生。 参观访问像论坛和其他功能的组件可以添加到网站的数据可以保存。
什么是数据库?
在这方面的数据库是一个
关系型数据库,该数据库表,这是关系到一个何瑞明键,使用户行可以有多个电子邮件行有关。
数据库可以查询使用SQL,这是一种语言,轻松地添加,更新和选择数据。 但是SQL还允许你改变了数据库的结构发生。
PHP和MySQL
当然,PHP可以处理如微软SQL Server和Oracle,以及许多其他的数据库引擎。
其他数据库服务器的功能名称,除与第一部分不同的是非常类似的用于SQL Server,所以MYSQL_CONNECT和mssql_connect。 为了连接到一个数据库,你首先需要连接到数据库中,要做到这一点,如下图所示,您使用在 mysql_connect。
link = mysql_connect ( ' localhost ' , ' username ' , ' password ' ) ; $链接= MYSQL_CONNECT('localhost' 的,'用户名','密码');
上述变量的本地主机是位于mysql数据库服务器。 意味着它位于本地计算机上的本地主机,所以在同一台机器作为脚本执行,但是这也同样是一个远程服务器,并可以通过服务器名称或IP地址表示。
变量的用户名和密码是MySQL数据库服务器的用户名和密码。 所有这些细节将初步建立由你,当你安装MySQL或将您的网页主机给你,如果你有安装MySQL。 如果没有成功连接到数据库mysql_connect函数将返回一个错误,所以的faliure可以像这样检测。
link = mysql_connect ( ' localhost ' , ' username ' , ' password ' ) ; $链接= MYSQL_CONNECT('localhost' 的,'用户名','密码');
$ link ) (链接)
{
' Unable to connect to database : ' . mysql_error ( ) ) ;死(“无法连接到数据库”。mysql_error());
}
模具功能在此时停止执行,并输出一个致命的错误。 通常不会有太多点继续执行,因为大多数脚本将依靠连接到数据库上,但是这并不总是如此。 的mysql_error返回的最后一个错误,作为一个字符串,它提供进一步的细节,到什么地方出了错这个功能是非常有用的调试错误和数据库函数失败时,应始终使用数据库发生。
则mysql_close允许您关闭到数据库的连接,从脚本内,但通常这是不neccarry作为连接将被关闭PHP,反正在脚本的末尾。
$ link ) ;则mysql_close($链接);
在你执行一个SQL查询之前,你需要选择你想做到这一点,你用这将确保当前打开的连接将使用实例数据库,以便
通过 mysql_select_db函数执行查询的MySQL数据库。
mysql_select_db ( ' phprocks ' ) ) 如果(mysql_select_db!(“phprocks))
{
" Can ' t select phprocks database ! The error occured : " . mysql_error ( ) ) ;死“('T的选择phprocks数据库发生错误:”。mysql_error());
}
像以前如果发生错误,一个错误的返回的功能,允许误差与上述处理。 查询可以执行
mysql_query函数允许你运行SQL查询作为字符串。
query = " SELECT * FROM Users " ; $查询=“SELECT * FROM用户”;
result = mysql_query ( $ query ) ; $结果= mysql_query($查询);
$ result ) (结果)
{
" An error occured while running the query : ' " . $ query . " ' , the error is : " . mysql_error ( ) ) ; (“运行查询时出现错误:”。查询“,错误的是:”mysql_error());
}
同样,这将返回false,如果出现错误允许误差为上述抓获。 否则,mysql_query函数将返回一个结果集,其中包含所有的查询结果。
有几个选项在处理这个数据,你可以返回数组作为关联数组与注册如果函数返回与mysql_fetch_row函数作为一个行或返回它作为一个与mysql_fetch_object功能的对象。
返回所有三个功能几乎一模一样的任务,但略有不同格式的数据可以看出。
query = " SELECT name , age FROM Users " ; $查询=“SELECT姓名,年龄从用户”;
result = mysql_query ( $ query ) ; $结果= mysql_query($查询);
$ row = mysql_fetch_assoc ( $ result ) ) 而($行=注册如果($))
{
$ row [ " name " ] ; 回声 $行[“名称”];
$ row [ " age " ] ; 回声 $行[“时代”];
}
正如你可以看到你的注册如果函数访问的行的列值作为关联数组的键的查询中的列名通过。
query = " SELECT name , age FROM Users " ; $查询=“SELECT姓名,年龄从用户”;
result = mysql_query ( $ query ) ; $结果= mysql_query($查询);
$ row = mysql_fetch_row ( $ result ) ) 而($行= mysql_fetch_row($))
{
$ row [ 0 ] ; 回声 $行[0];
$ row [ 1 ] ; 回声 $行[1];
}
当使用 mysql_fetch_row功能您访问的行的列值通过列的索引位置,以便在查询中的第一列是由指数等指数0,第二个访问
query = " SELECT name , age FROM Users " ; $查询=“SELECT姓名,年龄从用户”;
result = mysql_query ( $ query ) ; $结果= mysql_query($查询);
$ user = mysql_fetch_object ( $ result ) ) ($ USER = mysql_fetch_object($))
{
$ user - > name ; 回声 $用户- >名称;
$ user - > age ; 回声 $用户- >年龄;
}
当使用mysql_fetch_object功能的访问返回的对象的属性,您访问的行的列值,每列的名称是一个属性的名称。
已提供任何意见。
书面由多米尼克·斯金纳
最后更新:2011年10月25日十六点00分38秒