对于熟悉做网站的人来说,要想网站做成动态的,肯定要有数据库的支持,利用特定的脚本连接到数据库,从数据库中提取资料、向数据库中添加资料、删除资料等。这里我通过一个实例来说明如何用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. js计时器 + asp 计时器

    JS: <script type="text/javascript"> ; function starts() { ) { alert('已经开启了实时监控!') re ...

  2. Entity Framework: Joining in memory data with DbSet

    转载自:https://ilmatte.wordpress.com/2013/01/06/entity-framework-joining-in-memory-data-with-dbset/ The ...

  3. 简化 Hadoop 2.4.1 Eclpse 插件编译【原创】

    昨天折腾hadoop2X的eclipse插件,从https://github.com/winghc/hadoop2x-eclipse-plugin把源码搞下来后,很快搞定出来一个,但是...New H ...

  4. mysql int(1) 与 tinyint(1) 有什么区别?

    From: http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/08/25/2153016.html mysql int(1) tinyint ...

  5. Codeforces Round #195 A B C 三题合集 (Div. 2)

    A 题 Vasily the Bear and Triangle 题目大意 一个等腰直角三角形 ABC,角 ACB 是直角,AC=BC,点 C 在原点,让确定 A 和 B 的坐标,使得三角形包含一个矩 ...

  6. Some User Can Not Execute "Ship Confirm"(Doc ID 473312.1)

    APPLIES TO: Oracle Shipping Execution - Version 11.5.10.2 and later Information in this document app ...

  7. Oracle Purchasing QUESTIONS AND ANSWERS

    Topic Summary Topic: CORRECTIONS: Corrections Topic: DELIVER: Receiving Delivery Topic: DROPSHIP: Dr ...

  8. [原]如何在Android用FFmpeg+SDL2.0解码图像线程

    关于如何在Android上用FFmpeg+SDL2.0解码显示图像参考[原]如何在Android用FFmpeg+SDL2.0解码显示图像 ,关于如何在Android使用FFmpeg+SDL2.0解码声 ...

  9. java框架篇---spring hibernate整合

    在会使用hibernate 和spring框架后 两个框架的整合就变的相当容易了, 为什么要整合Hibernate?1.使用Spring的IOC功能管理SessionFactory对象 LocalSe ...

  10. 安卓序列化漏洞 —— CVE-2015-3525

    在2014年,Jann Horn发现一个安卓的提权漏洞,该漏洞允许恶意应用从普通应用权限提权到system用户执行命令,漏洞信息与POC见(1].漏洞的成因源于在安卓系统(<5.0)中,java ...