
然后,在该字段的属性里边会有一个序列:
继续,通常我们都这样来插入数据:
query("insert into ......")
紧接着执行这样的sql,就会得到刚才插入的id值
result = query("select currval('address_address_id_seq')")// 加粗部分就是上边红框内的序列
这次查询返回的结果一般是这样的:
我们需要的部分也主要是红框内的数据,这样我们想要的结果就出来了。
就是 *** 作数据库的方法,pdo就是把 *** 作数据库的函数封装成一个pdo类,其间做了安全验证而已。
在使用PDO之前首先要设置PHP.INI文件,使PHP支持PDO,因为PHP5默认是不支持的。在PHP安装目录下找到PHP.INI文件,打开并搜索extension=php_pdo.dll 和 extension=php_pdo_mysql.dll,将前面的分号(;)去掉,重启apache即可。
接下来我们就开始写PHP代码了,首先是连接数据库,看下面的例子:
<!--?php
define('DB_NAME', 'pdo_test')
define('DB_USER', 'root')
define('DB_PASSWORD', '')
define('DB_HOST', 'localhost')
define('DB_CHARSET', 'utf8')
try {
$DBH = new PDO('mysql:host='.DB_HOST.'dbname='.DB_NAME, DB_USER, DB_PASSWORD)
$DBH--->exec('SET CHARACTER SET '.DB_CHARSET)
$DBH->exec('SET NAMES '.DB_CHARSET)
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br>"
die()
}
?>
连接成功后,我们需要对数据库中的数据进行增删改查 *** 作,这里主要用到exec和query两个函数。
示例:
<!--?php
//增加数据
$sql_insert = 'Insert INTO wp_options(blog_id,option_name,option_value,autoload) VALUES (0,'.time().rand(1,100).','.time().rand(1,100).',\'no\')'
$back = $DBH--->exec($sql_insert)//返回 bool 的true or fal
$lastInsertId = $DBH->lastInsertId()
//删除数据
$sql_delete = 'Delete FROM wp_options Where option_id='.$lastInsertId
$back = $DBH->exec($sql_delete)//返回 bool 的true or fal
$lastInsertId = $DBH->lastInsertId()
//更新数据
$sql_update = 'Update wp_options SET option_name = \''.time().rand(1,100).'\' Where option_id='.$lastInsertId
$lastUpdateId = $DBH->lastInsertId()//返回的对应的 *** 作的id
//查询数据
$sql_select = 'Select option_id FROM wp_options orDER BY option_id DESC LIMIT 4 '
$back = $DBH->query($sql_select)//返回一个对象 这个对象可以用foreach 直接遍历循环 循环的为查询的结果集
$back = $DBH->query($sql_select)->fetch()//返回一条数据结果 这个对象可以用foreach 直接遍历循环 循环的为查询的结果集
$back = $DBH->query($sql_select)->fetchAll()//返回一个数组 这个对象可以用foreach 直接遍历循环 循环的为查询的结果集
$back = $DBH->query($sql_select)->fetchColumn(0)//返回一个字段字符串,这个字符串是返回的记录的第一条记录的第一个字段
?>
到这里,PDO的基本 *** 作基本上结束了。对于一般的企业网站,小型的管理系统基本上能满足了,但是,如果我们开发大型网站或者逻辑较复杂的管理系统,仅仅靠数据的读写是远远不够的,我们可能还需要对数据库的存储过程、事务等对象进行 *** 作,下面我们继续看看用PDO是如何实现的。如果还有更多问题可以去后盾网论坛问题求助专区,希望我的回答对你有帮助!
<?phpheader('content-type:text/htmlcharset=utf-8')
$dsn = 'mysql:dbname=m-testhost=localhost'
$user = 'root'//数据库用户名
$passwd = ''//数据库密码
try {
$pdo = new pdo($dsn, $user, $passwd)
$pdo->query('set names utf8')//设置字符集
$result = $pdo->query('select * from user')//查询数据库
foreach ($result as $row) {
echo $row['id']//输出 id 号
echo ':'
echo $row['name']//输出 name
echo '<br />'
}
} catch (pdoexception $e) {
echo $e->getmessage()//错误信息
}
?>
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)