php与mysql基础教程(1/9)

 更新时间:2016年11月25日 17:33  点击:1565
本章介绍如何使用PHP操作MySQL数据库,包括连接数据库 ,关闭数据库连接 示例 执行SQL语句 获取查询结果集,获取SQL语句执行错误的信息,获取结果集中的所有记录,分页显示数据,数据插入数据库,提交用户信息的HTML页面,显示数据信息的PHP程序,添加删除链接的PHP程序,删除数据库数据可以说是一部完整的php mysql入门基础教程哦。

  1.php  连接数据库的示例。
  2.php  关闭数据库连接。
  3.php  执行sql语句。
  4.php  获取sql语句执行错误的信息。
  5.php  获取查询结果集。
  6.php  获取结果集中的所有记录。
  7.php  用php程序显示表中数据。
  8.php  分页显示数据。
  9.html  提交用户信息的html页面。
  10.php  数据插入数据库。
  11.php  显示数据信息的php程序。
  12.php  添加删除链接的php程序。
  13.php  删除数据库数据。

*/
 // 1.php  连接数据库的示例。

 代码如下 复制代码

$host = 'localhost';
$user_name = 'root';
$password = 'admin';

$conn = mysql_connect($host,$user_name,$password);
if(!$conn)
{
    die('数据库连接失败:<br/>'.mysql_error());
}
echo '数据库连接成功!';

 

// 2.php  关闭数据库连接。

 代码如下 复制代码

$host = 'localhost';
$user_name = 'root';
$password = 'admin';

$conn = mysql_connect($host,$user_name,$password);
if(!$conn)
{
    die('数据库连接失败:'.mysql_error());
}
echo '数据库连接成功!';

if(mysql_close($conn))
{
    echo '<br/>........<br/>';
    echo '到数据库的连接已经成功关闭';
}

 

这是一款利用mysql php实例的用户注册代码,比较简单,就是把html提交过来的数据保存到mysql数据库。

 include('global.php');

 代码如下 复制代码

 if($_post['sub']){
  $user  = $_post['username'];
  $pwd   = md5($_post['password1'].$user);
  $email = $_post['email'];
   $q = $mysql->query("insert into `hl`.`hl_member`(`id`,`username`,`password`,`email`)values (null,'$user','$pwd','$email');");
  if($q){
   setcookie('login',$user);
   $prompt_msg->p('恭喜您,亲爱的会员,您已经注册成功!','index.php','现在去首页。','http://www.111cn.net','先去论坛逛逛!');
  }else{
   $prompt_msg->p('非常抱歉,系统发生故障!');
  }
 }
?>

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title></title>
<link rel="stylesheet" type="text/css教程" href="css/reg_log.css" />

</head>

<body>
<form id="myform" name="myform" method="post" action="register.php">
<div id="top">注册&nbsp;<a href="login.php">登录</a></div>
<div id="content">
 <div class="c1">请填写以下必填信息完成注册</div>
    <div class="c2"><span>带红色*的都是必填项目,若填写不全将无法注册</span></div>
    <div class="cinput"><dl>
     <dt>用户名<font color="red">*</font></dt>
        <dd><input id="username" name="username" type="text" maxlength="12" /></dd>
        <dd id="user_prompt" class="prompt">大小写英文字母、汉字、数字、下划线组成的长度 3-12 个字节以内</dd>
    </dl></div>
    <div class="cinput"><dl>
     <dt>密&nbsp;&nbsp;码<font color="red">*</font></dt>
        <dd><input id="password1" name="password1" type="password" maxlength="16" /></dd>
        <dd id="pwd1_prompt" class="prompt">最小长度:6 最大长度:16,仅限字母、数字及_,字母区分大小写</dd>
    </dl></div>         
    <!--检测密码强度-->
 <div class="cinput" style="padding-bottom:0px;"><!--ie6 hack-->
     <div class="chkpwd">
         <span id="cp1_prompt" class="cp1"></span><span id="cp2_prompt" class="cp2"></span>
            <span id="cp3_prompt" class="cp3"></span>
     </div>
    </div>
    <div class="cinput" style="padding-top:0px;"><dl>
     <dt>确认密码<font color="red">*</font></dt>
        <dd><input id="password2" name="password2" type="password" maxlength="16" /></dd>
        <dd id="pwd2_prompt" class="prompt">请再输入一遍您上面填写的密码</dd>
    </dl></div>
    <div class="cinput"><dl>
     <dt>email<font color="red">*</font></dt>
        <dd><input id="email" name="email" type="text" /></dd>
        <dd id="email_prompt" class="prompt">请填写真实并且最常用的邮箱</dd>
    </dl></div>
    <div style="clear:both"></div>
</div>
<div id="bottom">
 <input class="btn1" type="submit" name="sub" value="提交注册" id="checkall" />
 <input class="btn2" type="reset" name="reset" value="重置" onclick="return sub(this.form)" />
</div>
</form>
</body>
</html>

数据库结构

 create table `hl`.`hl_member` (
`id` int( 4 ) not null auto_increment comment '自动编码',
`username` varchar( 100 ) not null comment '用户名称',
`password` varchar( 200 ) not null comment '用户密码',
`answer` varchar( 100 ) not null comment '密保答案',
`question` varchar( 100 ) not null comment '密保问题',
`email` varchar( 100 ) not null comment 'email',
`realname` varchar( 200 ) not null comment '登录限制',
`birthday` date not null comment '出生日期',
`telephone` varchar( 20 ) not null comment '电话号码',
`qq` varchar( 15 ) not null comment 'qq号码',
`count` int( 1 ) not null comment '登录限制',
`active` int( 1 ) not null comment '是否激活',
primary key ( `id` )
) engine = innodb character set gb2312 collate gb2312_chinese_ci;

本章介绍一个基于文本的简易BLOG系统,当然我们可以利用这款blog系统的开发,很好的理解php网站开发原理了,其实网站开发容易于博客开哦,下面来看功能模块。

  post.php  读文件并显示日志内容的php程序。
  page.html  显示日志文章的html文档。
  style.css教程  页面显示效果的css代码。
  add.php  添加blog文章的php程序。
  config/auth.php 用户名和密码配置文件。
  index.php  blog首页程序。
  edit.php  编辑blog文章的程序。
  delete.php  删除blog文章的程序。
  archives.php 归档显示blog文章的程序。
  logout.php  退出登录的程序。

 */
  //post.php  读文件并显示日志内容的php程序。
 

 代码如下 复制代码

<?php
if(!isset($_get['entry']))
{
    echo '请求参数错误';
    exit;
}

$post_data = array();

$path = substr($_get['entry'],0,6);             //日志存储目录
$entry = substr($_get['entry'],7,9);            //日志文件名称
$file_name = 'contents/'.$path.'/'.$entry.'.txt';

if(file_exists($file_name))
{
    $fp = @fopen($file_name, 'r');
    if($fp)
    {
        flock($fp, lock_sh);
        $result = fread($fp, filesize($file_name)*100);
    }
    flock($fp, lock_un);
    fclose($fp);
}

$content_array = explode('|', $result);

$post_data['subject'] = $content_array[0];
$post_data['date'] = date('y-m-d h:i:s',$content_array[1]);
$post_data['content'] = $content_array[2];
//print_r($post_data);
?>

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html>
<head>
<title>基于文本的简易blog</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>

<div id="container">
 <div id="header">
  <h1>我的blog</h1>
 </div>
 <div id="title">
  ----i have dream....
 </div>
 <div id="left">
  <div id="blog_entry">
   <div id="blog_title"><? echo $post_data['subject'];?></div>
   <div id="blog_body">
    <div id="blog_date"><? echo $post_data['date'];?></div>
    <? echo $post_data['content'];?>
   </div><!--blog_body-->
  </div><!--blog_entry-->
 </div>
 
 <div id="right">
        <div id="sidebar">
            <div id="menu_title">关于我</div>
            <div id="menu_body">www.111cn.net</div>
        </div>
    </div>
 
 <div id="footer">
  copyright 2007
 </div>
</div>

<body>
</html>

  //page.html  显示日志文章的html文档。
 

 代码如下 复制代码

<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html>
<head>
<title>blog</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>

<div id="container">
    <div id="header">
        <h1>我的blog</h1>
    </div>
    <div id="title">
        ----i have a dream....
    </div>
    <div id="left">
        <div id="blog_entry">
            <div id="blog_title">日志文章标题</div>
            <div id="blog_body">
                <div id="blog_date">2007-12-01</div>
                日志文章内容
            </div>
        </div>
    </div>
   
    <div id="right">
        <div id="sidebar">
            <div id="menu_title">关于我</div>
            <div id="menu_body">www.111cn.net</div>
        </div>
    </div>
   
    <div id="footer">
        copyright 2007
    </div>
</div>

<body>
</html>
 

 

这里讲的文件操作主要是讲php获取文件的主要信息,判断文件的性质,获取文件名和目录名等哦。下面看三个实例

 代码如下 复制代码

//获取文件的主要信息。
$file = "data.txt";

if(is_dir($file))
{
    echo "文件 $file 是个目录";
    echo "<br/>";
}
else
{
    echo "文件 $file 不是目录";
    echo "<br/>";
}

if(is_file($file))
{
    echo "文件 $file 是一个普通文件";
    echo "<br/>";
}

if(is_readable($file))
{
    echo "文件 $file 是可读的";
    echo "<br/>";
}
else
{
    echo "文件 $file 是不可读的";
    echo "<br/>";
}

if(is_writeable($file))
{
   echo "文件 $file 是可写的";
   echo "<br/>";
}
else
{
   echo "文件 $file 是不可写的";
   echo "<br/>";
}
//判断文件的性质。
$path = "/home/prog/php/sayhello.php";

$file_name = basename($path);
$dir_name = dirname($path);

echo "完整路径:".$path;
echo "<hr>";
echo "<br/>";

echo "其中目录名为:".$dir_name;
echo "<br/>";
echo "其中文件名为:".$file_name;
echo "<br/>";
//获取文件名和目录名。
$file = "data.txt";
$dir = "info/newdata";

if(file_exists($file))
{
    echo "当前目录中,文件".$file."存在";
    echo "<br/>";
}
else
{
     echo "当前目录中,文件".$file."不存在";
     echo "<br/>";
}
echo "<br/>";
echo "<hr>";
echo "<br/>";

if(file_exists($dir))
{
    echo "当前目录下,目录".$dir."存在";
    echo "<br/>";
}
else
{
     echo "当前目录下,目录".$dir."不存在";
     echo "<br/>";
}

下面提供了三款日期验证正则表达式哦,你可以根据自己的需选择下面三种中期其中一种日期验证方法

 

 代码如下 复制代码

$arr_date = array(
'2004-06-01',
'2005-0x-10',
'12-12-12',
'2000-12-25 00:10:20',
'2007-12-05'
);

for ($i=0; $i<5; ++$i)
{
 $date = $arr_date[$i];
 if(ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs))
 {
     echo "日期字符串$date 符合'yyyy-mm-dd'格式:";
     echo "$regs[1].$regs[2].$regs[3]<br/><br/>";
 }
 else
 {
     echo "<b>日期字符串$date 不符合'yyyy-mm-dd'格式的日期字符串</b><br/><br/>";
 }
}

//匹配yyyy-mm-dd

 代码如下 复制代码

(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)

 

 

//2:匹配dd/mm/yyyy 或匹配d/m/yyyy

 

 代码如下 复制代码
'/^(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|'
                                .'[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})/((([13578]|1[2])|(0[13578]|1[02])'
                                .'/((0[1-9]|[12][0-9]|3[01])|([1-9]|[12][0-9]|3[1])))|(((0[469]|11)|([469]|11))'
                                .'/((0[1-9]|[12][0-9]|30)|([1-9]|[12][0-9]|30)))|'
                                .'((02|2)/((0[1-9]|[1][0-9]|2[0-8])|([1-9]|[1][0-9]|2[0-8]))'
                                .')))|((([0-9]{2})((0[48]|[2468][048]|[13579][26])|([48]|[2468][048]|[13579][26]))|'
                                .'((((0[48])|([48]))|[2468][048]|[3579][26])00))/(02|2)/29)$/';

 

[!--infotagslink--]

相关文章

  • Painter绘制红衣喝酒男水粉画效果教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一说绘制红衣喝酒男水粉画效果的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • iPhone6怎么激活?两种苹果iPhone6激活教程图文详解

    iPhone6新机需要激活后才可以正常使用,那么对于小白用户来说,iPhone6如何激活使用呢?针对此问题,本文就为大家分别介绍Wifi无线网络激活以及iPhone6连接电脑激活这两种有效的方法,希望本文能够帮助到大家...2022-09-14
  • Photoshop制作雨中野外孤独行走的一头牛海报教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说下制作雨中野外孤独行走的一头牛海报的教程,各位想知道具体制作方法的使用者们,大家就快来看一看小编给...2016-09-14
  • Painter绘制帅气卡通魔法王子漫画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制帅气卡通魔法王子漫画的具体教程,各位想知道绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • Illustrator鼠绘堆雪人的孩童矢量插画教程

    今天小编在这里就来给各位Illustrator的这一款软件的使用者们来说说鼠绘堆雪人的孩童矢量插画的教程,各位想知道具体绘制方法的使用者们,那么各位就快来跟着小编来看看...2016-09-14
  • 美图秀秀给照片天空加蓝天白云教程一览

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下究竟该怎么给照片天空加蓝天白云的教程,各位想知道具体制作步骤的,那么下面就来跟着小编一起看看吧。 ...2016-09-14
  • 安卓手机app添加支付宝支付开发教程

    支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。 之前讲了一篇博客关与支付宝集成获取...2016-09-20
  • llustrator绘制扁平化风格卡通警察护士空姐肖像教程

    今天小编在这里就来给llustrator的这一款软件的使用者们来说一说绘制扁平化风格卡通警察护士空姐肖像的教程,各位想知道具体绘制步骤的使用者们,那么下面就快来跟着小编...2016-09-14
  • Illustrator绘制一个方形的录音机图标教程

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一下绘制一个方形的录音机图标的教程,各位想知道具体绘制方法的使用者们,那么下面就来看一下小编给大家分...2016-09-14
  • photoshop简单制作一个搞笑的换脸表情包教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说一说简单制作一个搞笑的换脸表情包的教程,各位想知道具体制作方法的使用者们,那么大家就快来看一看教程吧。...2016-09-14
  • MySQL性能监控软件Nagios的安装及配置教程

    这篇文章主要介绍了MySQL性能监控软件Nagios的安装及配置教程,这里以CentOS操作系统为环境进行演示,需要的朋友可以参考下...2015-12-14
  • photoshop给手绘画调色变换场景后期教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说说给手绘画调色变换场景的后期教程,各位想知道具体后期处理步骤的使用者们,那么大家就快来跟着小编来看...2016-10-02
  • 美图秀秀让你胸丰满起来处理教程

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说一下让你胸丰满起来的处理教程,各位想知道具体处理步骤的,那么下面就快来跟着小编一起看一下教程吧。 给...2016-09-14
  • Painter绘制雷神传插画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制雷神传插画的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看看绘制方法吧。 ...2016-09-14
  • 详解Mysql中的JSON系列操作函数

    新版 Mysql 中加入了对 JSON Document 的支持,可以创建 JSON 类型的字段,并有一套函数支持对JSON的查询、修改等操作,下面就实际体验一下...2016-08-23
  • node.js如何操作MySQL数据库

    这篇文章主要介绍了node.js如何操作MySQL数据库,帮助大家更好的进行web开发,感兴趣的朋友可以了解下...2020-10-29
  • MySQL 字符串拆分操作(含分隔符的字符串截取)

    这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
  • 深入研究mysql中的varchar和limit(容易被忽略的知识)

    为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类型的问题。 ...2015-03-15
  • MySQL中的联合索引学习教程

    联合索引又叫复合索引。对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分。例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进...2015-11-24
  • 美图秀秀制作隔离区聊天背景教程

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下制作隔离区聊天背景的教程,各位想知道具体方法的,那么下面就快来跟着小编一起看一看吧。 给各位美图秀...2016-09-14