
$dbms='mysql'//数据库类型
$host='localhost'//数据库主机名
$dbName='test' //使用的数据库
$user='root' //数据库连接用户名
$pass='' //对应的密码
$dsn="$dbms:host=$hostdbname=$dbName"
try {
$dbh = new PDO($dsn, $user, $pass)//初始化一个PDO对象
echo "连接成功<br/>"
/*你还可以进行一次搜索 *** 作
foreach ($dbh->query('SELECT * from FOO') as $row) {
print_r($row)//你可以用 echo($GLOBAL)来看到这些值
}
*/
$dbh = null
} catch (PDOException $e) {
die ("Error!: " . $e->getMessage() . "<br/>")
}
//默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT =>true) 变成这样:
$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT =>true))
链接数据库的代码如下:
$Link = new PDO('mysql:host=localhostdbname=stu', 'username','password')更具体的 *** 作,请查看:http://www.php.net/manual/en/book.pdo.php
怎么获得mysql以pdo方式的数据库连接变量// 数据库连接ID 支持多个连接
protected $linkID = array()
// 当前连接ID
protected $_linkID= null
复制代码
我在使用datatable editor插件的时候,需要为插件配置mysql数据库信息,但是thinkphp已经帮我连接过一次,插件连接的话,插件的
$db = new Database( $sql_details )
复制代码
这里获得$db为空值,
解决办法就是采用pdo连接方式,直接在配置信息的时候把thinkphp的数据库连接变量配置进去
$sql_details = array(
"type" =>"Mysql", // Database type: "Mysql", "Postgres", "Sqlite" or "Sqlserver"
"user" =>"root", // Database user name
"pass" =>"", // Database password
"host" =>"localhost", // Database host
"port" =>"", // Database connection port (can be left empty for default)
"db" =>"XXXX", // Database name
"dsn" =>"",// PHP DSN extra information. Set as `charset=utf8` if you are using MySQL
'pdo' =>$dbh
)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)