[PHP] - mysql 数据库操作
使用PHP操作数据库有两种方式
- 使用mysql_XXXX()方法
- 使用这种方式,需要先把php.ini里的extension=php_mysql.dll去掉注释
- 使用PDO
- 使用这种试,需要把php.ini里的extension=php_pdo_mysql.dll去掉注释
下面演示使用第一种方式:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
$conn = mysql_connect("localhost", "root", "XXXXXX");
if(!$conn) {
die("Could not connect:" . mysql_error());
} mysql_select_db("test", $conn);
//mysql_query("SET NAMES utf8"); $result = mysql_query("INSERT INTO mytable(headline, create_time) VALUES('中国', '" . date("Y-m-d h:i:s") . "');");
if( $result < 1) {
echo "insert error!";
} $query = mysql_query("SELECT * FROM mytable LIMIT 100 OFFSET 0;");
while ($row = mysql_fetch_array($query, MYSQL_BOTH)) {
echo "<p>", $row["id"], " - " , $row["headline"], " - ", $row["create_time"], "</p>";
} mysql_close();
?>
</body>
</html>
下面是使用PDO方式:
参数引用:
http://php.ncong.com/mysql/pdo/pdo_huoqu.html
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "XXXXXX");
//设置错误使用异常的模式
$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//关闭自动提交
//$pdo-> setAttribute(PDO::ATTR_AUTOCOMMIT, 0);
} catch (PDOException $e) {
echo sprintf("Exception message=%s", $e->getMessage());
exit();
} /**
* 防SQL注入方式条件查询
*/
$stmt = $pdo->prepare('SELECT * FROM mytable WHERE id = :id');
$stmt->execute(array(":id"=>1));
foreach ($stmt as $row) {
echo $row["headline"];
} /**
* 插入数据
*/
$result = $pdo->exec("INSERT INTO mytable(headline, create_time) VALUES('中国', '" . date("Y-m-d h:i:s") . "');");
if($result) {
$str = sprintf("add data completed, lastupdateid=%s", $pdo->lastInsertId());
echo $str;
} /**
* 查询
*/
echo "<hr/>查询";
$rs = $pdo->query("SELECT * FROM mytable");
while ($row = $rs->fetch()) {
echo "<p>", $row["id"], " - " , $row["headline"], " - ", $row["create_time"], "</p>";
} /**
* 字段映射方式查询
*/
echo "<hr/>字段映射方式查询";
$q = $pdo->query("SELECT id, headline, create_time FROM mytable");
while (list($id, $headline, $createTime) = $q->fetch(PDO::FETCH_NUM)) {
echo "<p>", $id, " - " , $headline, " - ", $createTime, "</p>";
} /**
* 一次性查询方式
*/
echo "<hr/>一次性查询方式";
$query = $pdo->prepare("SELECT * FROM mytable");
$query->execute();
$rows = $query->fetchAll(PDO::FETCH_ASSOC);
foreach ($rows as $row) {
echo "<p>", $row["id"], " - " , $row["headline"], " - ", $row["create_time"], "</p>";
} /**
* 字段绑定方式
*/
echo "<hr/>字段绑定方式";
$stm = $pdo->prepare("SELECT id, headline, create_time FROM mytable");
$stm->execute();
$stm->bindColumn(1, $id);
$stm->bindColumn("headline", $headline);
$stm->bindColumn(3, $createTime);
while ($stm->fetch(PDO::FETCH_BOUND)) {
echo "<p>", $id, " - " , $headline, " - ", $createTime, "</p>";
} //$pdo-> setAttribute(PDO::ATTR_AUTOCOMMIT, 1);
?>
</body>
</html>
建议使用PDO方式,这样可以减少SQL注入安全性问题。(php5以上建议使用PDO方式做数据库操作)
[PHP] - mysql 数据库操作的更多相关文章
- php : mysql数据库操作类演示
设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...
- php MySQL数据库操作类源代码
php MySQL数据库操作类源代码: <?php class MySQL{ private $host; //服务器地址 private $name; //登录账号 private $pwd; ...
- 设计模式 - 单例模式mysql数据库操作类
待续... index.php 调用方法: <?php header('Content-Type:text/html; charset=utf8'); require 'instance.php ...
- MySQL数据库操作常用命令
MySQL数据库操作常用命令DOS连接数据库1.安装MySQL配置好环境2.运行cmd命令net start mysql3.找到mysql文件根目录输入命令mysql -h localhost -u ...
- Python/MySQL(四、MySQL数据库操作)
Python/MySQL(四.MySQL数据库操作) 一.数据库条件语句: case when id>9 then ture else false 二.三元运算: if(isnull(xx)0, ...
- Java通过JDBC 进行MySQL数据库操作
转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...
- Mysql 数据库操作之DDL、DML、DQL语句操作
Mysql 数据库操作之DDL.DML.DQL语句操作 设置数据库用户名密码 l Show databases 查看数据库列表信息 l 查看数据库中的数据表信息 ,格式: use 数据库名: sh ...
- Python进行MySQL数据库操作
最近开始玩Python,慢慢开始喜欢上它了,以前都是用shell来实现一些自动化或者监控的操作,现在用Python来实现,感觉更棒,Python是一门很强大的面向对象语言,所以作为一个运维DBA或者运 ...
- Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句 # python3 # author lizm # datetime 2018-02-01 10:00:00 # -*- co ...
- (转载)常用的Mysql数据库操作语句大全
打开CMD,进入数据库命令:mysql -hlocalhost -uroot -p 退出数据库:exit 用户管理: 1.新建用户: >CREATE USER name IDENTIFIED B ...
随机推荐
- wireshark流跟踪和分析
- iOS 短视频开发总结二 AVCaptureSession
开始录制短视频 录制完成 根据项目需求,对视频URL进行处理 基本原理和方法已经完成,具体细节根据项目实际需求再处理
- WCF Restful 服务器配置文件
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSec ...
- linux中模块的构建,传参,和printk函数的简单使用
静态编译,动态加载应用想访问内核需要通过系统调用 驱动:1.模块(打包,加入内核)2.内核机制3.操作硬件 在Kconfig里面配置menuconfig的时候,不同的类型会在图形化界面的终端显示不用的 ...
- calender 软文
http://www.cnblogs.com/cloudgamer/archive/2008/08/23/1274459.html
- mysql5.7 慢查底里失败的原因
正确配置: log_output = FILEslow-query-log = on slow_query_log_file ="D:/MySQL5.7/data/slow ...
- HTTP动词
对于资源的具体操作类型,由HTTP动词表示. 常用的HTTP动词有下面五个(括号里是对应的SQL命令). GET(SELECT):从服务器取出资源(一项或多项). POST(CREATE):在服务器新 ...
- amazon o2 - reverse second half linked list
public ListNode reverseBetween(ListNode head, int m, int n) { if(head==null) return head; ListNode s ...
- c#读写文件
1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出. byte[] byData = ...
- 合理利用gradle的占位符功能
1.gradle中可以声明字符串或者其他变量,然后再buildType中使用buildConfigField 来往BuildConfig文件中插入一个字符类型的常量,如下 先声明 def umengD ...