1.原生mysql方式

<?php
//最原生态的访问方式,不过SQL注入是个麻烦事
$con = mysql_connect("localhost","root","sa123456");
if($con)
{
mysql_select_db("dedecms");
mysql_query("set names gbk");//设置数据访问编码,防止乱码
$rs = mysql_query("select * from dede_area",$con);
#var_dump(mysql_fetch_array($rs)); //同时提供数字索引与文本索引两种访问方式 /*while($row = mysql_fetch_row($rs))
{
var_dump($row);
}*/
#var_dump( mysql_fetch_($rs) );
#mysql_fetch_assoc($result)
while($row = mysql_fetch_assoc($rs))//只提供文本索引访问数据
{
#var_dump($row);
echo $row['name']."<br/>";
}
}
mysql_close($con);
?>

2.优化过的mysql数据库访问方式,mysqli

<?php
//mysqli的访问方式,更加OO且安全性和性能都有提升,参数的方式可防止SQL注入
$mysqli = new mysqli("localhost","root","sa123456","phpdb");
$mysqli->query("set names gbk");
$sql = "insert into article(title,content,createBy,createTime) values(?,?,?,?)";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param("ssss", $title,$content,$createBy,$createTime);
$title = "hello!!!";
$content = "这里是新闻的内容";
$createBy = "admin";
$createTime = date('Y-m-d H:i:s');
$stmt->execute();
$stmt->close();
$mysqli->close();
?>

3.通用数据库访问方式,pdo

<?php
try
{
//pdo方式访问数据库,数据访问方式抽象到了更高层次,可支持灵活的切换为不同类型数据库
$dsn = "mysql:host=localhost;dbname=dedecms";
$pdo = new PDO($dsn, "root", "sa123456");
}
catch (PDOException $e)
{
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
$pdo->query("set names gbk");
$query = $pdo->prepare("select * FROM dede_area");
$query->execute(); for($i=0; $row = $query->fetch(); $i++){
echo $i." - ".$row['name']."<br/>";
} ?>

PHP访问数据库的更多相关文章

  1. C#使用ADO.NET访问数据库(一)

    博主好久没更新博客了,最近有点忙(打麻将0.0..),今天更新一篇C#的,我还是想坚持更新博客,分享一下自己的心得,闲话少说,开始正题~~ ADO.NET概述:ADO.NET的作用在于他是客户端访问服 ...

  2. Android 异步任务,通过PHP访问数据库,多线程,线程间通讯

    文章列表MainActivity.java package com.eric.asynctask; import java.io.IOException; import java.util.Array ...

  3. ADO.NET 访问数据库

    对数据库的访问时各种数据库应用程序开发的核心技术,.NET框架中提出的ADO.NET技术为应用程序的开发提供了一致的接口,增强了程序的可移植性和可扩展性. a:使用链接对象Connection连接数据 ...

  4. 如何通过JDBC访问数据库

    Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ...

  5. (转)发布Silverlight+WCF程序到IIS后,客户端访问数据库失败的解决方案

    转自url:http://greatverve.cnblogs.com/archive/2011/11/30/silverlight-wcf-pub.html 我们在编写Silverlight程序时, ...

  6. 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  7. Entity FrameWork 中使用Lambda访问数据库性能优化

    在使用Entity Framework 访问数据库时,我们经常使用Lambda表达式,但是如果不小心的话,很容易就掉到坑里了.比如下面的例子:用Lambda访问MSSqlServer中的NewsInf ...

  8. sqlserver 服务器主体 无法在当前安全上下文下访问数据库

    今天使用sqlserver,发现了一个问题,就是使用 insert into 数据库名.dbo.表名(字段) values(值) 这样语句的时候,会返回错误: sqlserver 服务器主体 无法在当 ...

  9. IOS 使用FMDB多线程访问数据库 及databaseislocked的问题

    原理:文件数据库sqlite,同一时刻允许多个进程/线程读,但同一时刻只允许一个线程写.在操行写操作时,数据库文件被琐定,此时任何其他读/写操作都被阻塞,如果阻塞超过5秒钟(默认是5秒,能过重新编译s ...

随机推荐

  1. NHibernate系列文章四:NHibernate运行时监控

    摘要 有三种方式可以实现NHibernate运行时监控,监控的信息包括:执行了的SQL语句.NHibernate执行过程.数据库性能分析.这对我们学习NHibernate有很大的帮助,在工作中也能快速 ...

  2. sqlserver同步后在不重新初始化快照的情况下新增表

           在已有事务复制中,时长需要新增表.索引,这些变更时不会同步到从库中.如果采用默认的设置,每次都需要重新初始化快照,从库重新应用快照和未执行的同步命令,这显然是无法在线上实践的方法.另一种 ...

  3. Ubuntu上安装MongoDB(译)

    add by zhj:直接从第四步开始就可以了,而且安装好MongoDB后会自动启动的,不必自己去执行启动命令 原文:https://docs.mongodb.com/manual/tutorial/ ...

  4. html--第一章 基础知识总结

    1--<body bgcolor="red">背景颜色 2--<body backgroud="back-ground.gif">  背 ...

  5. Intel 82599 万兆网卡

    http://www.cnblogs.com/zhuyp1015/archive/2012/08/23/2653264.html http://bbs.chinaunix.net/thread-424 ...

  6. encache学习教程

    http://www.cnblogs.com/hoojo/archive/2012/07/12/2587556.html

  7. 2015年毕业生收到的offer和薪资透露

    个人情况:全国排名70多的大学,非211,计算机专业硕士 收到的offer: 苏州同程旅游--6k/月 ,自己要了这么多,就给了这么多,没有规范.苏州蜗牛科技--8k/月 ,给了个口头offer,要去 ...

  8. Google上的Cookie Matching

    Cookie Matching This guide explains how the Cookie Matching Service enables you to make more effecti ...

  9. [题解]poj 1274 The Prefect Stall

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 22736   Accepted: 10144 Description Far ...

  10. main与对象初始化 in C++

    没有学过代码编译的原理,以前也没有兴趣去学编译器的相关原理,但是近期通过阅读google开源项目gtest,对我稍有触动. 代码: main test示例 TEST宏定义 #define TEST(t ...