首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络编程-> PHP教程
php与mysql交互使用详解
作者:网友供稿 点击:13
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
PHP与MySQL交互使用详解
1、创建自动连接数据库的代码,并生成一些必要的代码.我们仔细研究一下数据库的连接函数,会发现是这样的一行代码。
$link_id=@mysql_connect($hostname,$username,$password);
所以我们在include文件connect.inc中添加以下代码就可以了。connect.inc<?php$hostname=localhost;
$username=phpstar;$password=phpstar;$dbname=script;
$tablename=php_script;$link_id=mysql_connect($hostname,$username,$password);
if (! $link_id){ echo <html><head><title>Error</title></head><body>;
echo Connection to PHP has failed.;echo </body></html>;exit(); }?>
把这个程序加入到每个PHP脚本中,这样当脚本运行时就建立了数据库连接。因为我们的程序具有交互性,我们要处理用户输入的信息,所以在该文件中还应该加入以下代码.
<?php//接着上面的代码//加入一个处理输入信息的代码,并生成一个数组备用$arr_request=array();/*定义数组*/
if (count($HTTP_GET_VARS)) /*如果用户信息以GET方式输入,则读数据*/
{ while (list($key, $value) = each ($HTTP_GET_VARS)) /*函数list()与each()配合处理输入数据*/
{ $arr_request[strtolower($key)] = $value; } }
/*函数strtolower()将起区分作用的key字串转为小写,这样对后面的编程有好处,并把他们组成数组*/
if (count($HTTP_POST_VARS)) /*用户信息以POST方式输入*/
{ while (list($key, $value) = each ($HTTP_POST_VARS))
{ $arr_request[strtolower($key)] = $value; } } //我们还要定义每次输出的HTML
function html_header($title){ echo <html><head><title>;echo "$title";
echo </title></head><body bgcolor="#CCCCCC">; }function html_footer()
{ global $link_id;@mysql_close($link_id);echo </body></html>;}//还有一个出错信息处理
function html_error_exit($msg){ $errno = mysql_errno(); /*得到错误信息代码*/
$error = mysql_error(); /*得到错误信息,两者一起起排错作用*/
echo <html><head><title>Error</title></head><body>;echo $msg;
echo "<br>Error: ($errno) $error<br>";echo </body></html>;exit(); }?>
好了!我们把一些常用的代码放在了这里,用起来就方便了2、 创建数据库表这有两种方法:在DOS环境下输入命令,但容易出错哦.
利用程序,就算出错,修改起来也容易.我们用程序来创建数据表.因为我们的程序要有普遍性,所以表中的字段并不重要,这里我们只是简单的创建一个.该表具有以下管理字段:
key_script 这是一个有自动增量的字段,它保证表中的纪录都是独一无二的.date_created 这是一个日期字段,储存该纪录创建的时间
data_updated 这也是日期字段,储存该纪录最后一次更新的时间
flag_deleted 储存该纪录是否被删除,"Y":该纪录已被删除,"N":该纪录没删除,可使用具有以下储存信息的字段.script_name 程序名称
script_size 程序字节数script_describe 程序的简单说明author_name 程序作者名author_email 程序作者的email
author_homepage 程序作者的主页下面建立该程序:createTable.php<?phprequire(connect.inc);
$str_sql="create table php_script(
key_script int(10) unsigned DEFAULT 0 NOT NULL auto_increment,
date_created datetime DEFAULT 0000-00-00 00:00:00,
date_updated datetime DEFAULT 0000-00-00 00:00:00,
flag_deleted enum(Y,N) DEFAULT N NOT NULL,
script_name VARCHAR(20) NOT NULL,script_size VARCHAR(10) NOT NULL,
script_describe VARCHAR(200) NOT NULL,author_name VARCHAR(20) NOT NULL,
author_email VARCHAR(20) NOT NULL,author_homepage VARCHAR(30) NOT NULL,
primary key (key_script))";$result=mysql_db_query($dbname,$str_sql,$link_id);
if ($result){echo"ok! Table $tablename has been created!";}else{echo"Failed!";}
?>OK! 我们的表建好了!3、生成插入纪录代码程序。似乎我们应该先把纪录显示出来,然后才插入纪录,但因为我们还没有纪录,所以把这一步提到前面来。
首先、创建一个HTML表单,以便用户输入相关信息。其次、创建能插入表单信息的MySQL代码。好! 我们开始,表单样式如下:程序名:文件大小:程序描述:作者名:
作者邮件地址:作者的主页:能插入表单信息的MySQL代码如下:script_insert_action.php<?php
require(connect.inc);if($arr_request[action]==insert){
$current_date=date(Y-m-d H:i:s);/*把当前时间按YYYY-MM-DD HH:MM:SS方式排列*/
/*下面要动态生成SQL代码,其中我们定义的自动增量的字段由MySQL自己产生*/
/*另外flag_deleted字段的却省值是"N",所以这两项都不需要我们在这里特别提出来*/
/*大家都知道:PHP严格区分单引号()、双引号(")的作用。而我们的作者名等在数组内*/
/*我们要这样引用数组:$arr_request[author_name],注意这里有单引号()*/
/*而我们在输入insert语句的值时应该这样:VALUES($current_date) */
/*如果我们不去处理这些分号,就会出现这种情况:VALUES($arr_request[author_name]) */
/*这种情况PHP能处理好吗?当然不能,所以我们的想方法来处理它*//*这里,我们用下面这种技术来避免这个问题;当然这里还有其它的方法。您先想想吧!*/
$script_name=$arr_request[script_name];
$script_size=$arr_request[script_size];
$script_describe=$arr_request[script_describe];
$author_name=$arr_request[author_name];
$author_email=$arr_request[author_email];
$author_homepage=$arr_request[author_homepage];/*这样一替换,处理时就好多了*/
$str_sql="insert into $tablename(date_created,date_updated,script_name,
script_size,script_describe,author_name,author_email,author_homepage)VALUES(
$current_date,$current_date,$script_name,$script_size,
$script_describe,$author_name,$author_email,$author_homepage)";
$result=mysql_db_query($dbname,$str_sql,$link_id);/* 下面给用户简单的信息反馈 */
if (!$result){html_error_exit(MySQL插入命令失败!);}else(html_header(成功);
echo"<center> ";echo(MySQL插入命令成功);echo"<br> ";echo"html_footer();)?>
OK! 插入纪录功能完成!

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·php聊天室技术
·Java面试中的陷阱-JSP教程,Java技巧及代码
·如何找出在线电影的真实下载地址
·用Visual C#实现局域网点对点通讯-.NET教程,C#语言
·不使用installutil.exe安装WINDOWS服务-.NET教程,Windows开发
·域名查询代码公布
·J2EE项目10大风险-JSP教程,J2EE/EJB/服务器
·“IIS配置401错误”完美解决方案-.NET教程,评论及其它
·如何使用ASP实现网站的“目录树”管理-ASP教程,数据库相关
·Java 面试中的陷阱-JSP教程,Java技巧及代码
最新文章
·windows powershell的12项酷功能_windows vista
·google adwords投放报告(一)_网赚技巧
·互联网赚钱三种最基本的模式_网赚技巧
·百度联盟:何种做法会被认为是网站作弊_网赚技巧
·google adsense电话验证的注意事项_网赚技巧
·王峰:没什么可以改变我与雷军的十年友情_站长访谈
·胡安军:创业需要一种信仰_站长访谈
·金融界ceo赵志伟:行业整合才刚刚开始_站长访谈
·李军 bios之家的荣耀与梦想_站长访谈
·酷溜网李善友:创业不赚钱 毋宁死_站长访谈
相关主题
  • php与mysql交互函数表学习笔记_php技巧
  • php与mysql三日通-第三天-PHP教程,PHP基础
  • php与mysql三日通-第二天-PHP教程,PHP基础
  • php与mysql三日通-第一天-PHP教程,PHP基础
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭