浏览模式: 标准 | 列表全部文章

虎年-------新的一年

虎年-------新的一年

» 阅读全文

什么是socket

Socket协议的形象描述

» 阅读全文

PHP PDO的使用

//首先要连接mysql数据库

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

//如果你想连mssql:

//mssql:host=localhost;dbname=testdb

//连pgsql:

//pgsql:host=localhost port=5432 dbname=testdb user=bruce password=mypass

//连odbc(DSN)

//odbc:testdb

//连access:

//odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\db.mdb;Uid=Admin

//还有oracle,sqlite,db2....

//执行个查询

foreach ($dbh->query('SELECT * from FOO') as $row) {

    print_r($row); //这个结果和mysql_fetch_array差不多。PDOStatement::setFetchMode 可以调整。

}

//另外还可以:

$sth = $dbh->prepare("SELECT name, colour FROM fruit");

$sth->execute();

//将整个记录集读到数组里:

$result = $sth->fetchAll();

print_r($result);

//输出:

Array

(

[0] => Array

       (

         [NAME] => pear

         [0] => pear

         [COLOUR] => green

         [1] => green

       )

[1] => Array

       (

         [NAME] => watermelon

         [0] => watermelon

         [COLOUR] => pink

         [1] => pink

       )

)

//插入 / 删 / 更新数据:

$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");

//$count就是删除的条数。相当于mysql_affected_rows

//也可用PDOStatement::rowCount

//偶忘了偶用啥数据库了。。。。

if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {

   echo "Running on mysql; doing something mysql specific here\n";

}

//原来插入数据的时候要用mysql_escape_string,现在?

print "Unquoted string: $string\n";

print "Quoted string: " . $conn->quote($string) . "\n";

//得到:

Unquoted string: Nice

Quoted string: 'Nice'

//你看现在连引号都自动加了。。。。

//注意在不同的数据库中结果不同,比如有的' => '',有的' => \',\ => \\

//现在没顾虑了,全自动。

//最后偶要关闭它了

$conn = null;

//但是!你可以保持连接:

$dbh = new PDO('odbc:SAMPLE', 'db2inst1', 'ibmdb2',

    array(PDO_ATTR_PERSISTENT => true));

//很简单的不是?

附:特别简单的特殊调用方法:

$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");

if ($stmt->execute(array($_GET['name']))) { //你怕啥?自动quote!

   while ($row = $stmt->fetch()) {

print_r($row);

   }

}

也可以:

$stmt->bindParam(1, $id);

$stmt->bindParam(2, $_FILES['file']['type']);

$stmt->bindParam(3, $fp, PDO::PARAM_LOB);

这么好的功能,哪里可以找到?php5.1以上在扩展里,php5在pecl里,php4?你别想了,没有。

Tags: php, pdo

PHP中的PDO函数库(PDO Functions)

PDO是一个“数据库访问抽象层”,作用是统一各种数据库的访问接口,与mysql和mysqli的函数库相比,PDO让跨数据库的使用更具有亲和力;与ADODB和MDB2相比,PDO更高效。目前而言,实现“数据库抽象层”任重而道远,使用PDO这样的“数据库访问抽象层”是一个不错的选择。

» 阅读全文

Tags: php, pdo

MySQL Query Profiler

MySQL 5.0.37版本加入了MySQL Query Profiler工具。
http://dev.mysql.com/tech-resources/articles/using-new-query-profiler.html

» 阅读全文

关于三种主流WEB架构的思考

关于三种主流WEB架构的思考
Haohappy  haohappy AT msn.com
转载请注明来源:http://blog.csdn.net/haohappy2004

» 阅读全文

svn_install SVN安装 笔记

# 1、安装 svn 需要 apr apr-util apache支持

# 大环境支持 apache php 等 ...
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

» 阅读全文

提高查询效率

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num is null
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:
select id from t where num=0

3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。

4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num=10 or num=20
可以这样查询:
select id from t where num=10
union all
select id from t where num=20

» 阅读全文

Records:531234567