
< ?php
$mysql_server_name='localhost'
//改成自己的mysql数据库服务器
$mysql_username='root'
//改成自己的mysql数据库用户名
$mysql_password='12345678'
//改成自己的mysql数据库密码
$mysql_database='mycounter'
//改成自己的mysql数据库名
$conn=mysql_connect($mysql_server_name,
$mysql_username,$mysql_password,
$mysql_database)
$sql='CREATE DATABASE mycounter
DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci
'
mysql_query($sql)
$sql='CREATE TABLE `counter`
(`id` INT(255) UNSIGNED NOT NULL
AUTO_INCREMENT ,`count` INT(255)
UNSIGNED NOT NULL DEFAULT 0,PRIMARY KEY
( `id` ) ) TYPE = innodb'
mysql_select_db($mysql_database,$conn)
$result=mysql_query($sql)
//echo $sql
mysql_close($conn)
echo "Hello!数据库mycounter已经成功建立!"
?>
PHP连接数据库之PHP连接ACCESS数据库代码方法
< ?
$conn = new com("ADODB.Connection")
$connstr = "DRIVER={Microsoft
Access Driver (*.mdb)}
DBQ=". realpath("data/db.mdb")
$conn->Open($connstr)
$rs = new com("ADODB.RecordSet")
$rs->Open("select *
from szd_t",$conn,1,1)
while(! $rs->eof) {
$f = $rs->Fields(1)
echo $f->value
$rs->MoveNext()
}
?>
这篇文章主要介绍了PHP同时连接多个mysql数据库的具体实现,需要的朋友可以参考下实例:
代码如下:
<?php
$conn1
=
mysql_connect("127.0.0.1",
"root","root","db1")
mysql_select_db("db1",
$conn1)
$conn2
=
mysql_connect("127.0.0.1",
"root","root","db2")
mysql_select_db("db2",
$conn2)
$sql
=
"select
*
from
ip"
$query
=
mysql_query($sql)
if($row
=
mysql_fetch_array($query))
echo
$row[0]."n"
$sql
=
"select
*
from
web
"
$query
=
mysql_query($sql)
if($row
=
mysql_fetch_array($query))
echo
$row[0]
?>
这段代码存在问题,在程序执行时会报错:PHP
Warning:
mysql_fetch_array()
expects
parameter
1
to
be
resource,
boolean
given
in
....
原因分析:
程序开始建立两个数据库链接,函数mysql_query()原型:
resource
mysql_query
(
string
$query
[,
resource
$link_identifier
]
)
向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。如果没有指定
link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用
mysql_connect()
函数来建立一个连接并使用之。查询结果会被缓存。
在本例中由于没有指定link_identifier,所以,在执行第一条sql时,默认使用的是上一个打开的链接,即$conn2,而实际上第一条sql语句应该使用的是$conn1,所以导致报错,所以为了能够链接多个mysql数据库,可以使用如下方法:
方法1:在mysql_query函数中指定所用连接,即:
代码如下:
<?php
$conn1
=
mysql_connect("127.0.0.1",
"root","root","db1")
mysql_select_db("Muma",
$conn1)
$conn2
=
mysql_connect("127.0.0.1",
"root","root","db2")
mysql_select_db("product",
$conn2)
$sql
=
"select
*
from
ip"
$query
=
mysql_query($sql,$conn1)
//添加连接$conn1
if($row
=
mysql_fetch_array($query))
echo
$row[0]."n"
$sql
=
"select
*
from
web
"
$query
=
mysql_query($sql,
$conn2)
if($row
=
mysql_fetch_array($query))
echo
$row[0]
?>
方法2:在sql语句中关联所用数据库,此时可以省略mysql_query的第二个参数,即:
代码如下:
<?php
$conn1
=
mysql_connect("127.0.0.1",
"root","root","db1")
mysql_select_db("db1",
$conn1)
$conn2
=
mysql_connect("127.0.0.1",
"root","root","db2")
mysql_select_db("db2",
$conn2)
$sql
=
"select
*
from
db1.ip"
//关联数据库
$query
=
mysql_query($sql)
if($row
=
mysql_fetch_array($query))
echo
$row[0]."n"
$sql
=
"select
*
from
db2.web
"
$query
=
mysql_query($sql)
if($row
=
mysql_fetch_array($query))
echo
$row[0]
?>
本文实例讲述了PHP利用pdo_odbc实现连接数据库。分享给大家供大家参考,具体如下:目的:从sql
server数据库里面把某个视图文件调用出来,以键值对的方式显示在页面上。
利用pdo
odbc来实现PHP连接数据库:
在PHP配置文件里面开启pdo_odbc.dll服务。重启Apache服务器。
在ThinkPHP5.1的项目中在模块里添加config添加规定好的样式数据库:
代码如下:
<?php
return
[
//
数据库类型
'type'
=>
'sqlsrv',
//
服务器地址
'hostname'
=>
'localhost',
//
数据库名
'database'
=>
'mysql',
//
用户名
'username'
=>
'sa',
//
密码
'password'
=>
'123456',
//
端口
'hostport'
=>
'',
//
连接dsn
'dsn'
=>
'odbc:Driver={SQL
Server}Server=localhostDatabase=mysql',
//
数据库连接参数
'params'
=>
[],
//
数据库编码默认采用utf8
'charset'
=>
'utf8',
//
数据库表前缀
'prefix'
=>
'',
//
数据库调试模式
'debug'
=>
true,
//
数据库部署方式:0
集中式(单一服务器),1
分布式(主从服务器)
'deploy'
=>
0,
//
数据库读写是否分离
主从式有效
'rw_separate'
=>
false,
//
读写分离后
主服务器数量
'master_num'
=>
1,
//
指定从服务器序号
'slave_no'
=>
'',
//
是否严格检查字段是否存在
'fields_strict'
=>
true,
//
数据集返回类型
'resultset_type'
=>
'array',
//
自动写入时间戳字段
'auto_timestamp'
=>
false,
//
时间字段取出后的默认时间格式
'datetime_format'
=>
'Y-m-d
H:i:s',
//
是否需要进行SQL性能分析
'sql_explain'
=>
false,
//
Builder类
'builder'
=>
'',
//
Query类
'query'
=>
'\\think\\db\\Query',
//
是否需要断线重连
'break_reconnect'
=>
false,
//
断线标识字符串
'break_match_str'
=>
[],
]
?>
在控制器controller里面建一个控制文件Test.php
代码如下:
<?php
namespace
app\index\controller
use
think\Db
use
think\Controller
class
Test
extends
Controller
{
public
function
zz(){
$data=Db::view('View_2')->select()
echo
json_encode($data)
}
}
?>
最后调用入口文件即可访问。
http://localhost:81/1111/tp5/public/index/test/zz
我的效果:
[{"111":"123","1112":"LLP","232":"1","ROW_NUMBER":"1"},{"111":"123","1112":"BB","232":"2","ROW_NUMBER":"2"}]
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板 *** 作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend
FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
您可能感兴趣的文章:ThinkPHP实现多数据库连接的解决方法tp5(thinkPHP5)框架实现多数据库查询的方法ThinkPHP3.1新特性之多数据库 *** 作更加完善tp5(thinkPHP5)框架连接数据库的方法示例PHP7使用ODBC连接SQL
Server2008
R2数据库示例【基于thinkPHP5.1框架】thinkPHP5实现的查询数据库并返回json数据实例tp5(thinkPHP5) *** 作mongoDB数据库的方法tp5(thinkPHP5)框架数据库Db增删改查常见 *** 作总结thinkPHP5框架实现多数据库连接,跨数据连接查询 *** 作示例
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)