/** * 数据库连接 * @author 肖飞 <*****@*****.**> * @return object */ function connectG($arrPdoDB = '') { if (empty($arrPdoDB)) { $arrPdoDB = $this->arrGPdoDB; } try { $objPdoDB = new PdoDB($arrPdoDB['dsn'], $arrPdoDB['db_user'], $arrPdoDB['db_password'], array('PDO_ATTR_PERSISTENT' => $arrPdoDB['PDO_ATTR_PERSISTENT'], 'MYSQL_ATTR_USE_BUFFERED_QUERY' => true)); } catch (PDOException $e) { $strMessage = $e->getMessage(); if (strpos($strMessage, '[2003]') !== false) { echo '连接失败: 不能连接到本地的MYSQL数据库!<br />'; } elseif (strpos($strMessage, '[1049]') !== false) { //数据库不存在自动创建,by ArthurXF at 2009-6-16 $strDsn = $arrPdoDB['db_driver'] . ':host=' . $arrPdoDB['db_host'] . ';dbname=;charset=' . $arrPdoDB['db_char']; $objPdoDB = new PdoDB($strDsn, $arrPdoDB['db_user'], $arrPdoDB['db_password'], array('PDO_ATTR_PERSISTENT' => $arrPdoDB['PDO_ATTR_PERSISTENT'], 'MYSQL_ATTR_USE_BUFFERED_QUERY' => true)); $objPdoDB->exec('CREATE DATABASE `' . $arrPdoDB['db_name'] . '`'); //再次生成可用的数据库实例 $objPdoDB = new PdoDB($arrPdoDB['dsn'], $arrPdoDB['db_user'], $arrPdoDB['db_password'], array('PDO_ATTR_PERSISTENT' => $arrPdoDB['PDO_ATTR_PERSISTENT'], 'MYSQL_ATTR_USE_BUFFERED_QUERY' => true)); } elseif (strpos($strMessage, '[1045]') !== false) { //用户名或密码错误 echo 'Connection failed: ' . $strMessage . '<br />'; echo '用户名或密码错误,请将data\\webconfig.inc.php中\'db_name\' => \'biweb\',\'db_user\' => \'root\',\'db_password\' => \'\',修改成为正确的设置'; exit; } if (!is_object($objPdoDB)) { echo 'Connection failed: ' . $strMessage . '<br />'; if ($strMessage == 'could not find driver') { echo '请按照下面Loaded Configuration File中设定的路径找到PHP.ini,将其中的;extension=php_pdo_mysql.dll前面的;去掉,重启apache后再访问本页!'; phpinfo(); } exit; } } $objPdoDB->exec('set names utf8'); $objPdoDB->exec("set sql_mode=''"); return $objPdoDB; }
<?php require_once "PdoDB.php"; $servername = "localhost"; $username = "******"; $password = "******"; $dbname = "testblog"; $tblname = users; $isrt = new PdoDB($servername, $dbname, $username, $password); $arg = array('username' => 'DDDXXXXmonkey', 'password' => '123456', 'email' => '*****@*****.**'); $setArg = ['username' => 'DDDmonkey']; $whereArg = ['user_id' => 1]; // $isrt->insertDB($tblname, $arg); $isrt->deleteDB($tblname, ['user_id' => '9']);