怎样对 MYSQL 多数据库操作
发布于:2022-01-17 09:50:54
#1 10dawei
数据库:
test1
test2
教程上没有写怎样切换config db配置
请问大神门 怎样搞 给个提示吧。。?
2011-02-28 16:25:50
#3 10dawei
谢谢 JAKE
不过我不清楚传进去的mysql 参数是什么格式 array 格式吗?
2011-03-01 09:38:14
#4 jake
嗯,这个配置是数组,等值于spConfig配置中的db项
'db' => array( // 数据库连接配置
'driver' => 'mysql', // 驱动类型
'host' => 'localhost', // 数据库地址
'port' => 3306, // 端口
'login' => 'root', // 用户名
'password' => '', // 密码
'database' => '', // 库名称
'prefix' => '', // 表前缀
'persistent' => FALSE, // 是否使用长链接
),
2011-03-01 09:59:34
#5 weixiupc
JAKE,按照
http://speedphp.com/post/model-multi.html 这个配置不成功,一直提示数据库连接错误,有实例可以参考一下吗?
2011-03-11 13:28:05
#6 weixiupc
多数据库配置不成功,请教:
class main extends spController
{
function index(){
$_db = array(
'driver' => 'mssql',
'host' => '192.168.8.254',
'port' => '1433', // 端口
'login' => 'sss',
'password' => '123456',
'database' => 'new',
'prefix' => '' );
$a=spClass('db_mssql',$_db,SP_PATH.'/Drivers/mssql.php');
}
}
出错信息:
数据库链接错误 :
/vod/vod/sptest/SpeedPHP/Drivers/mssql.php on line 99
94. */
95. public function __construct($dbConfig)
96. {
97. if(!function_exists('mssql_connect'))spError('PHP环境未安装MSSQL函数库!');
98. $linkfunction = ( TRUE == $dbConfig['persistent'] ) ? 'mssql_pconnect' : 'mssql_connect';
99. $this->conn = $linkfunction($dbConfig['host'], $dbConfig['login'], $dbConfig['password']) or spError("数据库链接错误 : " . mssql_get_last_message());
100. mssql_select_db($dbConfig['database'], $this->conn) or spError("无法找到数据库,请确认数据库名称正确!");
101. }
102. /**
103. * 对特殊字符进行过滤
104. *
/vod/vod/sptest/controller/vod_test/main.php on line 12
2011-03-11 14:36:47
#7 jake
不能把MYSQL的配置放到MSSQL里面用,MSSQL的配置可以参考
http://speedphp.com/post/database-setting.html
2011-03-11 14:41:50
#8 weixiupc
先谢JAKE如此快速回复,按照此文
http://speedphp.com/post/database-setting.html配置
01 'db' => array( // 数据库连接配置
02 'driver' => 'mssql', // 驱动类型
03 'host' => 'SERVER\INSTANCE', // 数据库地址,数据库链接字符串
04 'login' => 'root', // 用户名
05 'password' => '', // 密码
06 'database' => '', // 库名称
07 'prefix' => '', // 表前缀
08 'persistent' => FALSE, // 是否使用长链接
09 ),
10 'db_driver_path' => SP_PATH.'/Drivers/mssql.php', // 自定义数据库驱动文件地址
请注意:MsSQL配置中,链接标识以及链接端口,请在“host”配置中设置,如 host => 'SERVER\INSTANCE'或host => 'laptop2,1030'还是不行,host改成数据库所在计算机名称显示一样错误,标注红色不怎么理解,再次麻烦与请教JAKE,弄了一天也没配置成功,郁闷!!!不搞多数据库配置,怎么连接都能成功。
2011-03-11 15:03:19
#9 weixiupc
忘了说明一下,我用的是mssql2005。
2011-03-11 15:07:41
#10 weixiupc
换成mssql2000出错信息一样。
2011-03-11 15:09:40
#11 weixiupc
把上述配置信息全部换成mysql后,同样出现如下错误信息:
数据库链接错误 : Access denied for user 'daemon'@'localhost' (using password: NO)
/vod/vod/sptest/controller/vod_test/main.php on line 12
2011-03-11 15:14:39
#12 weixiupc
用
http://speedphp.com/bbs/viewthread.php?tid=575&highlight=%27persistent%27此文下面方法连接正常。
$server = 'KALLESPC\SQLEXPRESS';
$link = mssql_connect($server, 'sa', 'phpfi');
if (!$link) {
die('Something went wrong while connecting to MSSQL');
}
不知道怎么配置多数据库连接了,JAKE在啊?
2011-03-11 16:05:03
#13 jake
按你上面的配置
$配置 = array(
'driver' => 'mssql', // 驱动类型
'host' => 'KALLESPC\SQLEXPRESS', // 数据库地址,数据库链接字符串
'login' => 'sa', // 用户名
'password' => 'phpfi', // 密码
);
2011-03-11 21:10:21
#14 weixiupc
JAKE,还是不行,郁闷!下面是具体各文件内容,哪里写的不对吗?
config.php内容
$spConfig = array(
'view' => array(
'enabled' => TRUE, // 开启Smarty支持
'config' =>array(
'template_dir' => APP_PATH.'/tpl', // 模板页面所在的目录
'compile_dir' => APP_PATH.'/tmp', // 临时文件编译目录
'cache_dir' => APP_PATH.'/tmp', // 临时文件缓存目录
'left_delimiter' => '<{', // Smarty左限定符,默认是{
'right_delimiter' => '}>', // Smarty右限定符,默认是}
),
),
);
test.php文件内容:
define("APP_PATH",dirname(__FILE__));
define("SP_PATH",dirname(__FILE__).'/SpeedPHP');
require("config.php");
//require("config-ms.php");
$spConfig['controller_path'] = APP_PATH.'/controller/'.basename(__FILE__,".php");
require(SP_PATH."/SpeedPHP.php");
spRun();
test目录下main.php文件内容:
class main extends spController
{
function index(){
$_db = array(
'driver' => 'mssql',
'host' => '192.168.8.254,1433',
'login' => 'sss',
'password' => '123456',
'database' => 'new',
'prefix' => '',
'persistent' => FALSE // 是否使用长链接
);
$a=spClass('db_mssql',$_db,SP_PATH.'/Drivers/mssql.php');
$a = spClass('ms_guestbook');
// 切换到MSSQL
$a->_db = $dsn_mssql;
}
}
model目录下ms_guestbook.php文件内容:
class ms_guestbook extends spModel{// 这是一个继承了spModel的数据类
var $pk = 'id';
var $table = 'tbl_room';
public function name_list(){
$oAcl=spClass('ms_guestbook');
$condition="select * from tbl_room where id='101'";
$result=$oAcl->findsql($condition);
return $result;
}
}
运行
http://192.168.8.247/sptest/test.php出错信息:
数据库链接错误 :
/vod/vod/sptest/SpeedPHP/Drivers/mssql.php on line 99
94. */
95. public function __construct($dbConfig)
96. {
97. if(!function_exists('mssql_connect'))spError('PHP环境未安装MSSQL函数库!');
98. $linkfunction = ( TRUE == $dbConfig['persistent'] ) ? 'mssql_pconnect' : 'mssql_connect';
99. $this->conn = $linkfunction($dbConfig['host'], $dbConfig['login'], $dbConfig['password']) or spError("数据库链接错误 : " . mssql_get_last_message());
100. mssql_select_db($dbConfig['database'], $this->conn) or spError("无法找到数据库,请确认数据库名称正确!");
101. }
/vod/vod/sptest/controller/test/main.php on line 13
请教JAKE如何处理,哪里写的不对?
2011-03-14 09:45:47
#15 jake
上面的代码问题不少,建议是先做好一个数据库链接的程序,然后再研究多数据库的技术。
2011-03-14 09:59:30