对于熟悉做网站的人来说,要想网站做成动态的,肯定要有数据库的支持,利用特定的脚本连接到数据库,从数据库中提取资料、向数据库中添加资料、删除资料等。这里我通过一个实例来说明如何用php连接到数据库的。

我准备建立一个简单的通讯录,数据库的名字叫txl,数据库只有一个表叫personal_info,表中有5个字段

pi_id pi_name pi_tel pi_qq pi_email

首先我们要创建数据库:

create database txl;

然后我们建立表

CREATE TABLE `personal_info` (

`pi_id` bigint(20) NOT NULL auto_increment,

`pi_name` varchar(50) NOT NULL,

`pi_tel` varchar(15) default NULL,

`pi_qq` varchar(15) default NULL,

`pi_email` varchar(50) default NULL,

PRIMARY KEY (`pi_id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

上面的sql语句很简单,通过字面都能猜出什么意思。

下面是连接到数据库并且显示表personal_info的所有字段信息:

// connsql.php

<?php

    $mysql_server_name="localhost"; //数据库服务器名称

    $mysql_username="root"; // 连接数据库用户名

    $mysql_password="root"; // 连接数据库密码

    $mysql_database="lxr"; // 数据库的名字

    // 连接到数据库

    $conn=mysql_connect($mysql_server_name, $mysql_username,

                        $mysql_password);

    // 从表中提取信息的sql语句

    $strsql="select * from personal_info";

    // 执行sql查询

    $result=mysql_db_query($mysql_database, $strsql, $conn);

    // 获取查询结果

    $row=mysql_fetch_row($result);

    echo '<font face="verdana">';

    echo '<table border="1" cellpadding="1" cellspacing="2">';

    // 显示字段名称

    echo "/n<tr>/n";

    for ($i=0; $i<mysql_num_fields($result); $i++)

    {

      echo '<td bgcolor="#000F00"><b>'.

      mysql_field_name($result, $i);

      echo "</b></td>/n";

    }

    echo "</tr>/n";

    // 定位到第一条记录

    mysql_data_seek($result, 0);

    // 循环取出记录 何问起

    while ($row=mysql_fetch_row($result))

    {

      echo "<tr>/n";

      for ($i=0; $i<mysql_num_fields($result); $i++ )

      {

        echo '<td bgcolor="#00FF00">';

        echo "$row[$i]";

        echo '</td>';

      }

      echo "</tr>/n";

    }

    echo "</table>/n";

    echo "</font>";

    // 释放资源 hovertree.com

    mysql_free_result($result);

    // 关闭连接

    mysql_close();  

?>

下面是运行结果:

pi_id pi_name pi_tel pi_qq pi_email

1 Zhangsan 13911111111 642864125 zhangsan@126.com

2 Lisi 13122222222 63958741 lisi@163.com

3 Wangwu 13833333333 912345678 wangwu@sohu.com

所谓“万变不离其宗”,再复杂的操作也都是基于上面的来的,都少不了上面的基本的步骤,当需要时查一下相关的手册便可以解决。

附参考代码:

<h1>插入操作</h1>
<?php
if(!isset($_POST['submit'])){
//如果没有表单提交,显示一个表单
?>
<form action="" method="post">
国家:<input type="text" name="country" />
动物名称(英文):<input type="text" name="animal" />
动物名称(中文):<input type="text" name="cname" />
<input type="submit" name="submit" value="提交表单" />
</form>
<?php
}
else
{
//如果提交了表单 hovertree.com
//数据库连接参数
$host = "localhost";
$user = "root";
$pass = "zq19890319";
$db = "phpdev"; //取得表单中的值,检查表单中的值是否符合标准,并做适当转义,防止SQL注入
$country = empty($_POST['country'])? die("请输入国家名称"):
mysql_escape_string($_POST['country']);
$animal = empty($_POST['animal'])? die("请输入英文名"):
mysql_escape_string($_POST['animal']);
$cname = empty($_POST['cname'])? die("请输入中文名"):
mysql_escape_string($_POST['cname']); //打开数据库连接 何问起
$connection = mysql_connect($host, $user, $pass) or die("Unable to connect!"); //选择数据库
mysql_select_db($db) or die("Unable to select database!"); //构造一个SQL查询
$query = "INSERT INTO symbols(country, animal, cname) VALUE('$country', '$animal', '$cname')"; //执行该查询
$result = mysql_query($query) or die("Error in query: $query. ".mysql_error()); //插入操作成功后,显示插入记录的记录号
echo "记录已经插入, mysql_insert_id() = ".mysql_insert_id(); //关闭当前数据库连接
mysql_close($connection);
}
?>

推荐:http://www.cnblogs.com/roucheng/p/3528396.html

PHP+MySql例子的更多相关文章

  1. 从零开始学JAVA(09)-使用SpringMVC4 + Mybatis + MySql 例子(注解方式开发)

    项目需要,继续学习springmvc,这里加入Mybatis对数据库的访问,并写下一个简单的例子便于以后学习,希望对看的人有帮助.上一篇被移出博客主页,这一篇努力排版整齐,更原创,希望不要再被移出主页 ...

  2. mysql——jdbc驱动下载&连接mysql例子

    mysql-connector-java-5.1.46.zip[解压后里面jar文件就是所需要的] https://dev.mysql.com/get/Downloads/Connector-J/my ...

  3. Spring Boot 2 + jpa + mysql例子

    Spring Data框架为数据访问提供了一个通用的模型,无论访问哪种数据库,都可以使用同样的方式,主要有以下几个功能:(1)提供数据与对象映射的抽象层,同一个对象,可以被映射为不同数据库的数据:(2 ...

  4. JDBC连接MySql例子

    1.注册MySql连接驱动 2.设置连接MySql连接字符串.用户名和密码 3.获取数据库连接 代码如下: // 加载驱动 Class.forName("com.mysql.jdbc.Dri ...

  5. 自学php的几个例子(包含AMP(Apache、MySQL、PHP)环境搭建链接)

    学习PHP之前需要先搭建PHP运行的环境(即服务器+PHP+数据库)来使PHP成功运行,具体环境搭建教程可参考pharen(http://www.cnblogs.com/pharen/archive/ ...

  6. 我的MYSQL学习心得(十七) 复制

    我的MYSQL学习心得(十七) 复制 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  7. [Hibernate] - mysql

    Hibernate使用mysql例子: 1) 新建一个bean: User.java package com.my.bean; import java.util.Date; public class ...

  8. python mysql 2014 Commands out of sync; you can't run this command now

    这个问题出现再 mysql和c  的api. 简单的解决方法是不使用api直接把整个连接和命令传过去. 例如,cmd = 'mysql -h 192.168.32.210 -P 3316 -u bfd ...

  9. Oracle和Mysql语法异同整理笔记

    目录 (1) 模糊匹配 (2) 删除数据 (3) 时间函数 (4) 关键字问题 (5) 递归查询 (6) 排序问题 (7) 空值返回0 (8) 取最大值 (9) 列转换函数 (10) 类型转行函数 @ ...

随机推荐

  1. Linux 的启动流程(转)

    原文链接:http://blog.jobbole.com/46078/ 半年前,我写了<计算机是如何启动的?>,探讨BIOS和主引导记录的作用. 那篇文章不涉及操作系统,只与主板的板载程序 ...

  2. 值得一看:利用对标帮助客户进行GAP分析,找到业务发展方向!

    最好是跟CBM一起来使用.   Presentation Here: https://ibm.biz/BdXJrQ CAN ONLY ACCESS at IBM internal.

  3. DB系统预警联系人API

    Author:Skate Time:2014/12/16 DB系统预警联系人API 在我们维护系统时,须要把系统的报警信息即时传递给对应同学.假设把联系方式直接写到脚本里.对以后的维护变更将埋下祸根, ...

  4. 处理链方式执行APD处理

    于在处理链的标准处理类型中没有针对APD的处理类型,所以如果APD处理过程设计好后,需要在处理链中安排计划,每天自动运行,就需要用到特殊的处理方法.步骤如下:     1.在se38中运行程序RSAN ...

  5. 在spring,mybatis整合配置中走的弯路(1)

    在接触一个新东西,总免不了走一些弯路,也正是在这些弯路中,我们不断的成长. 从git上把之前写的代码扒下来,看看我在当初使用spring与mybatis中所走的弯路,路过的君子也可引以为戒. < ...

  6. Android adt v22.6.2 自动创建 appcompat_v7 解决方法,最低版本2.2也不会出现

    Android 开发工具升级到22.6.2在创建工程时只要选择的最低版本低于4.0,就会自动生成一个项目appcompat_v7,没创建一个新的项目都会自动创建,很是烦恼... 之前在网上也找过方法, ...

  7. ha456.jar打开dump文件报Unsupported major.minor version 51.0异常

    异常信息如下: C:\Users\Administrator>java -jar -Xmx2000m D:/ha456.jar F:/20160419_1048.dump Exception i ...

  8. Activity跳转时生命周期跟踪

    1. 步骤1(打开First Activity):经过onCreate.onStart.onResume后First Activity就展现啦: 2. 步骤2(跳转至Second Activity): ...

  9. jar包制作

    1,利用jdk自带的工具制作 1) 首先要确保所有的java文件都被编译成了.class文件,可以用javac批量编译多个文件 javac c:\java\src\wz\learning\*.java ...

  10. STAF自动化测试框架

    STAF自动化测试框架介绍 http://baike.baidu.com/link?url=9oPZN3JntRakidI7xizqCbyGRISMvCKGfXHBB_WH7OAkKjAKZjq88q ...