最近很多小伙伴都在问金仓数据库KingbaseES客户端编程接口指南-PHPPDO和4.KingbaseESPDO的函数说明这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展1、PD
最近很多小伙伴都在问金仓数据库 KingbaseES 客户端编程接口指南 - PHP PDO 和4. KingbaseES PDO的函数说明这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展1、PDO:PDO 简介、Codeigniter PDO 错误连接注意:尝试获取非对象的属性文件名 pdo/pdo_driver.php、PDO 连接 mysql8.0 报 PDO::__construct (): Server sent charset (255) unknown to the client. Please, report...、PDO+Access[密码] PDO+Mysql PHP PDO数据库驱动 常用操作 高性能 切换库等相关知识,下面开始了哦!
本文目录一览:- 金仓数据库 KingbaseES 客户端编程接口指南 - PHP PDO (4. KingbaseES PDO的函数说明)
- 1、PDO:PDO 简介
- Codeigniter PDO 错误连接注意:尝试获取非对象的属性文件名 pdo/pdo_driver.php
- PDO 连接 mysql8.0 报 PDO::__construct (): Server sent charset (255) unknown to the client. Please, report...
- PDO+Access[密码] PDO+Mysql PHP PDO数据库驱动 常用操作 高性能 切换库
金仓数据库 KingbaseES 客户端编程接口指南 - PHP PDO (4. KingbaseES PDO的函数说明)
4. KingbaseES PDO的函数说明
本章节介绍了PDO的组成模块,以及KingbaseES实现PHP数据对象接口的PDO_KDB函数用法。
-
PDO标准模块
-
KingbaseES函数(PDO_KDB)
4.1. PDO标准模块
具体参考PHP标准手册,主要分为以下几部分。
-
PDO 类
代表 PHP 和数据库服务之间的一个连接,更多信息请参见PHP官网文档 。
-
PDOStatement 类
代表一条预处理语句,并在该语句被执行后返回一个相关的结果集,更多信息请参见PHP官网文档。
-
PDOException 类
代表一个由 PDO 产生的错误。在正确的代码中不应抛出一个 PDOException 异常。关于 PHP 异常的更多信息请参见PHP官网文档。
4.2. KingbaseES函数(PDO_KDB)
PDO_KDB是一个驱动程序,它实现了PHP数据对象(PDO)接口, 以此支持从PHP到KingbaseES数据库的访问。
-
DSN
语法格式:
$dsn = ''kdb:host=localhost;dbname=TEST;port=54321'';
功能:
连接到KingbaseES数据库。
-
kdbCopyFromArray
语法格式:
public bool PDO::kdbCopyFromArray ( string $table_name , array $rows [, string $delimiter = ''\t'' [, string $null_as = "\\\\N" [, string $fields ]]] )
功能:
将数据从PHP数组复制到表中。
-
kdbCopyFromFile
语法格式:
public bool PDO::kdbCopyFromFile ( string $table_name , string $filename [, string $delimiter = ''\t'' [, string $null_as = "\\\\N" [, string $fields ]]] )
功能:
将文件中的数据复制到表中 。
-
kdbCopyToArray
语法格式:
public array PDO::kdbCopyToArray ( string $table_name [, string $delimiter = ''\t'' [, string $null_as = "\\\\N" [, string $fields ]]] )
功能:
将数据库表中的数据复制到PHP数组中 。
-
kdbCopyToFile
语法格式:
public bool PDO::kdbCopyToFile ( string $table_name , string $filename [, string $delimiter = ''\t'' [, string $null_as = "\\\\N" [, string $fields ]]] )
功能:
将表中的数据复制到文件中 。
-
kdbLOBCreate
语法格式:
public string PDO::kdbLOBCreate ( void )
功能:
创建一个新的大对象 。
-
kdbLOBOpen
语法格式:
public resource PDO::kdbLOBOpen ( string $oid [, string $mode = "rb" ] )
功能:
打开现有的大型对象流 。
-
kdbLOBUnlink
语法格式:
public bool PDO::kdbLOBUnlink ( string $oid )
功能:
删除大对象 。
1、PDO:PDO 简介
Codeigniter PDO 错误连接注意:尝试获取非对象的属性文件名 pdo/pdo_driver.php
如何解决Codeigniter PDO 错误连接注意:尝试获取非对象的属性文件名 pdo/pdo_driver.php
我正在尝试在 pdo pgsql(第二个数据库)中插入数据,但我很清楚这个注意:试图获取非对象的属性。文件名:pdo/pdo_driver.PHP。
这是我与数据库的连接:
with open(file_path) as csv_file:
data_source = csv.reader(csv_file,delimiter='','')
with open(output_path + ''results.csv'',''w'',newline='''') as results_file:
data_sink = csv.writer(results_file) #This is the important line
for line in data_source:
data_sink.writerow(line)
在我的模型中,我有这个功能(这里只是重要的东西,不完整):
$active_group = ''default'';
$query_builder = TRUE;
$db[''pdo_email''] = array(
''hostname'' => ''pgsql:host=00.00.00.00;dbname=db_name;port=5432'',''username'' => ''user'',''password'' => ''password'',''database'' => ''db_name'',''dbdriver'' => ''pdo'',''dbprefix'' => '''',''pconnect'' => FALSE,''db_debug'' => (ENVIRONMENT !== ''production''),''cache_on'' => FALSE,''cachedir'' => '''',''char_set'' => ''utf8'',''dbcollat'' => ''utf8_general_ci'',''swap_pre'' => '''',''encrypt'' => FALSE,''compress'' => FALSE,''stricton'' => FALSE,''failover'' => array(),''save_queries'' => TRUE
);
解决方法
我使用 POSTGRES 的数据库连接设置:
$active_group = ''default'';
$query_builder = TRUE;
$db[''default''] = array(
''dsn'' => '''',''hostname'' => ''pgsql:host=localhost;dbname=Absences_DB'',''username'' => ''postgres'',''password'' => ''marc'',''database'' => ''Absences_DB'',''dbdriver'' => ''pdo'',''dbprefix'' => '''',''pconnect'' => FALSE,''db_debug'' => (ENVIRONMENT !== ''production''),''cache_on'' => FALSE,''cachedir'' => '''',''char_set'' => ''utf8'',''dbcollat'' => ''utf8_general_ci'',''swap_pre'' => '''',''encrypt'' => FALSE,''compress'' => FALSE,''stricton'' => FALSE,''failover'' => array(),''save_queries'' => TRUE
);
您应该验证是否在 php.ini 文件中启用了 pdo 驱动程序
PDO 连接 mysql8.0 报 PDO::__construct (): Server sent charset (255) unknown to the client. Please, report...
安装 mysql8.0 之后,尝试使用 php 连接 mysql,总是报 PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers 错误,网上找了很多资料,然而都没有多大用处。
查找了 mysql 官方说明文档才知道原来 M8.0 已经已经把默认字符集升级成 ut8mb4 了,于是找到 my.cnf 文件,修改如下:
1 [client]
2 port = 3306
3 socket = /tmp/mysql.sock
4 default-character-set = utf8
5
6 [mysql]
7 prompt="MySQL [\d]> "
8 no-auto-rehash
9 default-character-set = utf8
10
11 [mysqld]
12 port = 3306
13 socket = /tmp/mysql.sock
14 default_authentication_plugin = mysql_native_password
15 collation-server = utf8_unicode_ci
16
17 basedir = /usr/local/mysql
18 datadir = /data/mysql
19 pid-file = /data/mysql/mysql.pid
20 user = mysql
21 bind-address = 0.0.0.0
22 server-id = 1
23
24 init-connect = ''SET NAMES utf8''
25 character-set-server = utf8
然后使用 PDO 连接 mysql
$db = array(
''host'' => ''your host'', //设置服务器地址
''port'' => ''3306'', //设端口
''dbname'' => ''your db name'', //设置数据库名
''username'' => ''your name'', //设置账号
''password'' => ''your pwd'', //设置密码
''charset'' => ''utf8'', //设置编码格式
''dsn'' => ''mysql:host=your host;dbname=your db name;port=3306;charset=utf8'',
);
//连接
$options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //默认是PDO::ERRMODE_SILENT, 0, (忽略错误模式)
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // 默认是PDO::FETCH_BOTH, 4
);
try{
$pdo = new PDO($db[''dsn''], $db[''username''], $db[''password''], $options);
var_dump($pdo);
}catch(PDOException $e){
die(''数据库连接失败:'' . $e->getMessage());
}
结果如下:
object(PDO)#1 (0) { }
PDO+Access[密码] PDO+Mysql PHP PDO数据库驱动 常用操作 高性能 切换库
<?php
class DB extends PDO {
public function __construct($host, $username, $password, $database, $port = ''3306'', $charset = ''UTF8'') {
$driverOptions = array (
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_CASE => PDO::CASE_LOWER,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
);
if ($host) {
$dsn = ''mysql:host='' . $host . '';dbname='' . $database . '';charset='' . $charset . '';port='' . $port . '''';
} else {
$dsn = ''odbc:driver={microsoft access driver (*.mdb)};dbq='' . realpath ( $database ) . '';PWD='' . $password;
}
try {
return parent::__construct ( $dsn, $username, $password, $driverOptions );
} catch ( PDOException $e ) {
echo $e->getMessage ();
}
}
public function fetchAll($query, $parameters = array(), $type = PDO::FETCH_ASSOC) {
$rs = $this->prepareAndExecute ( $query, $parameters );
$rows = $rs->fetchAll ( $type );
$rs->closeCursor ();
unset ( $rs );
return $rows;
}
public function fetchRow($query, $parameters = array(), $type = PDO::FETCH_ASSOC) {
$rs = $this->prepareAndExecute ( $query, $parameters );
$row = $rs->fetch ( $type );
$rs->closeCursor ();
unset ( $rs );
return $row;
}
public function fetchValue($query, $parameters = array()) {
return $this->fetchRowValue ( $query, $parameters, 0 );
}
public function fetchRowValue($query, $parameters = array(), $column = 0) {
$rs = $this->prepareAndExecute ( $query, $parameters );
$row = $rs->fetchColumn ( $column );
$rs->closeCursor ();
unset ( $rs );
return $row;
}
public function update($query, $parameters) {
$rs = $this->prepareAndExecute ( $query, $parameters );
return $rs->rowCount ();
}
public function insert($query, $parameters = array()) {
$rs = $this->prepareAndExecute ( $query, $parameters );
return $this->lastInsertId ();
}
public function prepareAndExecute($query, $parameters = array()) {
$rs = $this->prepare ( $query );
$rs->execute ( $parameters );
return $rs;
}
}
$Mysql = new DB ( ''localhost'', ''root'', ''123456'', ''wordpress'' );
$Access = new DB ( false, false, ''1234567890'', ''content.mdb'' );
var_dump ( $Mysql->getAttribute ( PDO::ATTR_DRIVER_NAME ) );
echo ''<hr />'';//py by http://my.oschina.net/cart/
var_dump ( $Access->getAttribute ( PDO::ATTR_DRIVER_NAME ) );
今天关于金仓数据库 KingbaseES 客户端编程接口指南 - PHP PDO 和4. KingbaseES PDO的函数说明的分享就到这里,希望大家有所收获,若想了解更多关于1、PDO:PDO 简介、Codeigniter PDO 错误连接注意:尝试获取非对象的属性文件名 pdo/pdo_driver.php、PDO 连接 mysql8.0 报 PDO::__construct (): Server sent charset (255) unknown to the client. Please, report...、PDO+Access[密码] PDO+Mysql PHP PDO数据库驱动 常用操作 高性能 切换库等相关知识,可以在本站进行查询。
本文标签: