php和多种数据库(mssql,access,oracle)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PHP访问ACCESS数据库的方法总结收藏

在PHP中连接ACCESS有三种方式:

1、创建系统数据源,用php提供的odbc函数即可

2、同样使用php的odbc函数,但不创建数据源。

$connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("netBook.mdb") ;

$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );

3、使用微软的ADODB数据库驱动

$conn = new com("ADODB.Connection");

$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("netBook.mdb");

$conn->Open($connstr);

$rs = new com("ADODB.RecordSet");

$rs->Open("select * from class",$conn,1,1);

while(! $rs->eof) {

// $f = $rs->Fields(0);

// echo $f->value;

echo $rs->Fields["content"]->value."
";

$rs->MoveNext();

}

?>

举例如下:

$connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("1.mdb");

$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );

$query=odbc_do($connid,"select keyword from keyword");

//$query= odbc_do($con,$sql);

$num = 0;

while(odbc_fetch_row($query)){

//echo $record[$num] = odbc_result($query,1); echo " ";

//echo $record1[$num] = odbc_result($query,2); echo " ";

//echo $record2[$num] = odbc_result($query,3); echo " ";

//echo $record3[$num] = odbc_result($query,4); echo " ";

//echo "
";

echo $record = odbc_result($query,1);

echo "
";

$num = $num + 1;

if ($num > 20){ break; } // 只取出前20条记录

echo $connid;

?>

本文来自CSDN博客,转载请标明出处:/kflwz/archive/2006/04/05/651196.aspx

PHPBB使用MSSQL数据库编码问题解决

PHPBB在MSSQL上运行时候,汉字提交和显示会异常,出现乱码等现象,究其原因,乃MSSQL数据库不支持UTF-8编码引起。经搜索相关资料,得知本人使用的服务器上的MSSQL支持GB码。好,那在提交数据和读取数据之前做一下编码转换即可。唯一的缺点是增加的服务器的负载。不过本人试了一下,速度暂时还能接受。请参考以下源码修改细节:

file : mssql.php

functino: sql_query:

$query = iconv("UTF-8","gbk//IGNORE",$query);// add here

if (($this->query_result = @mssql_query($query, $this->db_connect_id)) === false)

{

$this->sql_error($query);

}

functino: sql_fetchrow:

foreach ($row as $key => $value)

{

$row[$key] = ($value === ' ' || $value === NULL) ? '' : $value;

$row[$key] = iconv("gbk","UTF-8//IGNORE",$row[$key]); // add here

}

解决php使用mssql server时遇到的中文编码问题一例

朋友要用sugarcrm的php读取Ms sql server的中文资料,因为其原始资料是Access 数据库,导到mysql不太方便。但导到sqlserver 2005后,发现其中文编码只支持GB 和UCS-2(unicode 16),所以直接在数据库中查询显示正确,但使用php的utf9编码显示时则全是乱码。

找了大量资料,什么使用mssql,freetds,odbc,ado或直接每次查询和写入都进行转码等建议都有。不过实际测试中,发现Ado这种方法是好用的。

代码如下:

view plaincopy to clipboardprint?

//print("The next line generates an error.
");

//printaline("PLEASE?");

//print("This will not be displayed due to the above error.");

?>

$conn = new COM("ADODB.Connection", NULL, CP_UTF8) or die("Cannot start ADO");

//access 数据库的打开方式

//$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db");

//$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

$conn->Open("Driver={SQL

Server};Server={192.168.22.40};Database=sugarcrm_db;UID=sa;PWD=123456;") ;

// 执行查询并输出数据

$rs = $conn->Execute('SELECT * FROM accounts') or die ("error query");

?>

while (!$rs->EOF) {

echo '

';

echo '

';

echo '

';

echo '

';

$rs->MoveNext();

}

?>

IDTitle
'. $rs->Fields['id']->Value .''. $rs->Fields['name']->Value .'

// 释放资源

相关文档
最新文档