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 ...
随机推荐
- C++学习基础十——子类构造函数与析构函数的执行
1.子类构造函数的执行: 先执行父类的构造函数,再执行成员对象的构造函数,最后执行自身的构造函数. 当继承多个类时,构造函数的 执行顺序与继承时的顺序 相同,而与子类构造函数调用父类构造函数的顺序无关 ...
- C# 连接 Oracle 的几种方式
一:通过System.Data.OracleClient(需要安装Oracle客户端并配置tnsnames.ora)1. 添加命名空间System.Data.OracleClient引用2. usin ...
- CAPI学习心得
比较有意义资料 Education .ppt User-guide Coherent Accelerator Interface Architecture.pdf ------------------ ...
- Python 前端之JS
JavaScript由浏览器编译运行 JS的导入方式有两种,一种直接定义,第二种通过src引入:可以存放在<head>头部,但是强烈建议放在<body>的最下面,因为如果你引入 ...
- random、面向对象编程
一.random模块:随机数 import random print random.random() print random.randint(,) print random.randrange(,) ...
- 随笔—邀请赛前训— Codeforces Round #330 (Div. 2) B题
题意: 这道英文题的题意稍稍有点复杂. 找长度为n的数字序列有多少种.这个序列可以分为n/k段,每段k个数字.k个数可以变成一个十进制的数Xi.要求对这每n/k个数,剔除Xi可被ai整除的情况,剔除X ...
- CRC
#define POLY 0x1021 /** * Calculating CRC-16 in 'C' * @para addr, start of data * @para num, length ...
- CentOS使用virtualenv搭建独立的Python环境-python虚拟环境
CentOS使用virtualenv搭建独立的Python环境-python虚拟环境 virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解 ...
- 如何实现能像windows 窗体一样改变大小的控件 Silverlight
众所周知,我们可以将鼠标放在windows窗体的边框上,按住鼠标左键改变窗体大小.那么,在silverlight上如何实现呢? 1. 需要将改控件放置在canvas上. 2. 判断鼠标位置,然后将Ar ...
- iframe自动适应高度
iframe代码,注意要写ID <iframe src="test.html" id="main" width="700" heigh ...