PHP访问数据库
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访问数据库的更多相关文章
- C#使用ADO.NET访问数据库(一)
博主好久没更新博客了,最近有点忙(打麻将0.0..),今天更新一篇C#的,我还是想坚持更新博客,分享一下自己的心得,闲话少说,开始正题~~ ADO.NET概述:ADO.NET的作用在于他是客户端访问服 ...
- Android 异步任务,通过PHP访问数据库,多线程,线程间通讯
文章列表MainActivity.java package com.eric.asynctask; import java.io.IOException; import java.util.Array ...
- ADO.NET 访问数据库
对数据库的访问时各种数据库应用程序开发的核心技术,.NET框架中提出的ADO.NET技术为应用程序的开发提供了一致的接口,增强了程序的可移植性和可扩展性. a:使用链接对象Connection连接数据 ...
- 如何通过JDBC访问数据库
Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ...
- (转)发布Silverlight+WCF程序到IIS后,客户端访问数据库失败的解决方案
转自url:http://greatverve.cnblogs.com/archive/2011/11/30/silverlight-wcf-pub.html 我们在编写Silverlight程序时, ...
- 在 Mac OS X 上创建的 .NET 命令行程序访问数据库 (使用Entity Framework 7 )
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- Entity FrameWork 中使用Lambda访问数据库性能优化
在使用Entity Framework 访问数据库时,我们经常使用Lambda表达式,但是如果不小心的话,很容易就掉到坑里了.比如下面的例子:用Lambda访问MSSqlServer中的NewsInf ...
- sqlserver 服务器主体 无法在当前安全上下文下访问数据库
今天使用sqlserver,发现了一个问题,就是使用 insert into 数据库名.dbo.表名(字段) values(值) 这样语句的时候,会返回错误: sqlserver 服务器主体 无法在当 ...
- IOS 使用FMDB多线程访问数据库 及databaseislocked的问题
原理:文件数据库sqlite,同一时刻允许多个进程/线程读,但同一时刻只允许一个线程写.在操行写操作时,数据库文件被琐定,此时任何其他读/写操作都被阻塞,如果阻塞超过5秒钟(默认是5秒,能过重新编译s ...
随机推荐
- 小杨同学git使用记(适合使用过git但是不熟练的童鞋)
首先声明:这不是一篇git使用手册或者指南,如果要详细的git使用指南,下面是廖雪峰的git教程,可以系统学习廖雪峰的git教程,当然,如果你想马上以一种正确的方式使用git,那么接下来你很快就会学会 ...
- [转]DCM Tutorial – An Introduction to Orientation Kinematics
原地址http://www.starlino.com/dcm_tutorial.html Introduction This article is a continuation of my IMU G ...
- weed-fs参数列表
weed-fs没有详细的帮助文档,为了方便阅读,特意把有用的参数帮助罗列出来.未列出的两个命令为version(版本查询) 及shell(这个命令在0.45版本只有回显功能)nerc@Ubuntu:~ ...
- Egret中的对象池ObjectPool
为了可以让对象复用,防止大量重复创建对象,导致资源浪费,使用对象池来管理. 对象池具体含义作用,自行百度. 一 对象池A 二 对象池B 三 字符串key和对象key的效率 一 对象池A /** * 对 ...
- html弹出窗并用遮罩层的实例
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- left join ,right join ,inner join ,cross join 区别
left join ,right join ,inner join ,cross join 区别(参考:http://zhidao.baidu.com/link?url=gpOl9HXZR0OrQuy ...
- JQuery Mobile 页面参数传递(转)
在单页模版中使用基于HTTP的方式通过POST和GET请求传递参数,而在多页模版中不需要与服务器进行通信,通常在多页模版中有以下三种方法来实现页面间的参数传递. 1.GET方式:在前一个页面生成参数并 ...
- return exit _exit
(1)进程终止: C程序的终止分为两种:正常终止和异常终止. 正常终止分为: return, exit, _exit, _Exit, pthreade_exit. 异常中指分为: abort, SIG ...
- linux links and lynx
接下来,说一下links 和 lynx 的一些基本操作,首先你,需要安装这俩个软件 yum install links yum install lynx links links的功能键 一些常见功能按 ...
- 2d,3d中旋转推导
二维绕原点旋转,其实点为(x,y),旋转角度为黄色标注的角度. 推导过程如下: x' = r cos(al+be); y' = r sin(al+be);x '= rcosalcosbe-rsinal ...