这篇博客主要介绍了三种方式来连接MySQL数据库以及创建数据库、创建表。(代码是我在原来的基础上改的)

  • MySQLi - 面向对象
  • MySQLi - 面向过程
  • PDO

MySQLi 面向对象

<?php
//实例 (MySQLi - 面向对象)创建数据库连接
echo "实例 (MySQLi - 面向对象)<br/>";
$servername = "127.0.0.1";
$username = "root";
$password = "123456";
date_default_timezone_set("Asia/Shanghai");
echo date('Y-m-d H:i:s',strtotime('now'));
// 创建连接
$conn = new mysqli($servername, $username, $password); // 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
/*
*注意在以上面向对象的实例中 $connect_error 是在 PHP 5.2.9 和 5.3.0 中添加的。
* 如果你需要兼容更早版本 请使用以下代码替换:
// 检测连接
if (mysqli_connect_error()) {
die("数据库连接失败: " . mysqli_connect_error());
}
*/ // 创建数据库myDB
$sql = "CREATE DATABASE test";
if ($conn->query($sql) === TRUE) {
echo "数据库创建成功";
} else {
echo "<mark><br/>Error creating database: " . $conn->error."</mark>";
echo "<br/>";
}/* 注意: 当你创建一个新的数据库时,你必须为 mysqli 对象指定三个参数 (servername, username 和 password)。
Tip: 如果你使用其他端口(默认为3306),为数据库参数添加空字符串,指定端口号
如: new mysqli("localhost", "username", "password", "", port)*/ echo "连接成功<br/>";
$conn->close();//关闭连接
echo "关闭连接<br/>";
?>
<?php
//实例 (MySQLi 面向对象)创建表格
date_default_timezone_set("Asia/Shanghai");
echo date('Y-m-d H:i:s',strtotime('now'));
echo "<br/>";
$servername = "127.0.0.1";
$username = "root";
$password = "123456";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检测连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 使用 sql 创建数据表MyGuests
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
echo "<mark>";
if ($conn->query($sql) === TRUE) {
echo "Table MyGuests created successfully";
} else {
echo "创建数据表错误: " . $conn->error;
}echo "</mark>";
//连接
$conn->close();
?>

MySQLi 面向过程

<?php
//实例 (MySQLi 面向过程)--创建数据库连接
echo "实例 (MySQLi面向过程)<br/>";
date_default_timezone_set("Asia/Shanghai");
echo date('Y-m-d H:i:s',strtotime('now'));
$servername = "127.0.0.1";
$username = "root";
$password = "123456";
// 创建连接
$conn = mysqli_connect($servername, $username, $password); // 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
} //创建数据库
$sql = "CREATE DATABASE myDB";
if (mysqli_query($conn, $sql)) {
echo "<br/>数据库创建成功";
} else {
echo "<mark><br/>Error creating database: " . mysqli_error($conn)."</mark>";
} echo "<br/>连接成功<br/>";
mysqli_close($conn);
echo "关闭连接<br/>"; ?>
<?php
//实例 (MySQLi 面向过程)创建数据库连接
date_default_timezone_set("Asia/Shanghai");
echo date('Y-m-d H:i:s',strtotime('now'));
echo "<br/>";
$servername = "127.0.0.1";
$username = "root";
$password = "123456";
$dbname = "myDB"; // 创建连接
$conn = mysqli_connect($servername, $username, $password, $dbname);
// 检测连接
if (!$conn) {
echo "<mark>";
die("连接失败: " . mysqli_connect_error());
echo "</mark>";
} // 使用 sql 创建数据表MyGuests
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
echo "<mark>";
if (mysqli_query($conn, $sql)) {
echo "数据表 MyGuests 创建成功";
} else {
echo "创建数据表错误: " . mysqli_error($conn);
} echo "</mark>"; mysqli_close($conn);
?>

(PDO)创建数据库连接

<?php
//实例 (PDO)--创建数据库连接
echo "实例 (PDO)<br/>";
date_default_timezone_set("Asia/Shanghai");
echo date('Y-m-d H:i:s',strtotime('now'));
$servername = "127.0.0.1";
$username = "root";
$password = "123456"; try {
$conn = new PDO("mysql:host=$servername;dbname=mysql", $username, $password);
echo "<br/>连接成功<br/>"; //创建数据库
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "CREATE DATABASE myDBPDO";
// 使用 exec() ,因为没有结果返回
$conn->exec($sql);
echo "<mark>数据库创建成功<br></mark>";
}catch(PDOException $e)
{
echo "<mark>".$sql . "<br>" . $e->getMessage()."</mark>";
echo "<br/>";
}
$conn = null;
echo "关闭连接<br/>";
?>
<?php
//实例 (PDO)--创建数据库连接
echo "实例 (PDO)<br/>";
date_default_timezone_set("Asia/Shanghai");
echo date('Y-m-d H:i:s',strtotime('now'));
echo "<br/>";
$servername = "127.0.0.1";
$username = "root";
$password = "123456";
$dbname = "myDBPDO"; try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式,用于抛出异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 使用 sql 创建数据表
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)"; // 使用 exec() ,没有结果返回
$conn->exec($sql);
echo "<mark>数据表 MyGuests 创建成功</mark>";
}
catch(PDOException $e)
{
echo "<mark><br>".$sql . "<br>" . $e->getMessage()."<br></mark>";
} //关闭连接
$conn = null;
?>

本文代码参考修改自http://www.runoob.com/php/php-mysql-connect.html


PHP连接数据库、创建数据库、创建表的三种方式的更多相关文章

  1. C#与数据库的连接的三种方式

    学习了.net的知识从C#一直到MVC,我一直觉得基础很重要,最近有复习一下数据库连接的三种方式 1 返回结果集的一张表 public static DataTable ExecuteDataTabl ...

  2. django基础之day09,多对多创建数据表的三种方式

    多对多三种创建方式 1.全自动(用在表关系不复杂的一般情况) class Book(models.Model): title=models.CharField(max_length=32) 多对多关系 ...

  3. Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式

    我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 43W+,如下图: 2017 年由于种种原因,就没有 ...

  4. Mysql 删除数据表的三种方式详解

    用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, 用 delete. 删除强度:dro ...

  5. 通过SQL脚本导入数据到不同数据库避免重复导入三种方式

    前言 无论何种语言,一旦看见代码中有重复性的代码则想到封装来复用,在SQL同样如此,若我们没有界面来维护而且需要经常进行的操作,我们会写脚本避免下次又得重新写一遍,但是这其中就涉及到一个问题,这个问题 ...

  6. 【Oracle】表连接三种方式

    表连接的方式有三种分别是:排序合并连接(Sort Merge Join).嵌套循环连接(Nested Loops Join).哈希连接(Hash Join). 1. 排序合并连接(Sort Merge ...

  7. 七十三、SAP中清空内表的三种方式

    一.上代码 二.需要注意的是 * CLEAR 只能清空不带WITH HEADER LINE的内表* REFRESH 能清空内表,但是不回收内存* FREE 能清空内表并回收内存,但是此内表还能继续使用

  8. redis数据库服务器开启的三种方式

    redis的启动方式1.直接启动  进入redis根目录,执行命令:  #加上‘&’号使redis以后台程序方式运行 1 ./redis-server & 2.通过指定配置文件启动  ...

  9. PHP创建数据库数据表

    PHP创建数据库数据表 <?php $con = mysql_connect('localhost', 'root', 'root'); /************************在数据 ...

随机推荐

  1. 开涛spring3(4.2) - 资源 之 4.2 内置Resource实现

    4.2  内置Resource实现 4.2.1  ByteArrayResource ByteArrayResource代表byte[]数组资源,对于“getInputStream”操作将返回一个By ...

  2. 移动端页面 iPhone + Safari 页面调试 之 正确查看网络请求的姿势

    如题 本文主要将 Safari + iPhone 前端开发调试  之 正确查看网络请求的 姿势 惯例 说下问题场景: 早知道safari(Mac) + iPhone 调试的方便 能解决很多日常调试问题 ...

  3. php curl 的几个实例

    使用PHP的cURL库可以简单和有效地去抓网页.你只需要运行一个脚本,然后分析一下你所抓取的网页,然后就可以以程序的方式得到你想要的数据了.无论是你想从从一个链接上取部分数据,或是取一个XML文件并把 ...

  4. 分享两个网址,一个是使用mssql自带的跟踪工具和分析工具

    http://www.cnblogs.com/Fooo/archive/2013/02/19/2916789.html 使用mssql自带的跟踪工具和分析工具 http://blog.csdn.net ...

  5. java知识点整理

    1 java 和Tomcat总结 脑图地址  (其中web 容器部分还需要继续完善,但是没找到相关文档) 跟着java Se 文档梳理了一下学习路线图(方便全面掌握要点,及时对自己查漏补缺),以及一些 ...

  6. sed的用法

    1.什么是sed sed命令是一个流线式.非交互式编辑器,可以实现在vi等编辑器中一样的编辑效果.   2.sed的工作原理 模式空间(pattern space) sed一次处理一行文本(或输入), ...

  7. [编织消息框架][netty源码分析]6 ChannelPipeline 实现类DefaultChannelPipeline职责与实现

    ChannelPipeline 负责channel数据进出处理,如数据编解码等.采用拦截思想设计,经过A handler处理后接着交给next handler ChannelPipeline 并不是直 ...

  8. c++,函数名不要和某个类名相同 (syntax error : missing ';' before identifier....)

    直接上代码: // outside.h class Outside { private: class Inner { public: Inner(Outside& out) : out_(ou ...

  9. 2017最新xcode打包APP详细图文

    网上的xcode打包ipa教程大多太旧而且又不完整,所以整理了一个最新的完整详细的xcode打包APP的图文教程分享给小白到大神路上前进的你我. xcode打包IPA包之前先申请iOS证书,然后导入证 ...

  10. MySQL,Oracle,PostgreSQL通过web方式管理维护, 提高开发及运维效率

    在开发及项目运维中,对数据库的操作大家目前都是使用客户端工具进行操作,例如MySQL的客户端工具navicat,Oracle的客户端工具 PL/SQL Developer, MSSQL的客户端工具查询 ...