PHP连接sql server会比较麻烦,更改配置文件这一方法我没有细致去了解,我选择是用ODBC数据源进行连接,本文适合有一定基础的人员进行阅读哈。
1.设置ODBC数据源,设置你的远程数据库IP,账号密码,默认数据库,设置数据源名字,并测试连接是否成功。
2.使用PHP查询数据库
<?php $dsn = 'barcode';//设置数据源名称变量 $user = 'username';//设置用户名变量 $password = 'password';//设置密码变量 //连接数据库 $conn = odbc_connect($dsn,$user, $password) or die ("未能成功连接"); //设置连接语句 $sql = "select a,b,c from A表 where a = 'kkk' "; //执行查询语句 $odbc_exec = odbc_exec($conn,$sql); //打印查询结果 echo $odbc_exec; ?>3.向数据库里面增加数据,增加数据要设计到判断数据库原本是否有同样的数据。
<?php
依然是设置ODBC连接的变量
$dsn = ‘barcode’;
$user = ‘username’;
$password = ‘passwoed’;
//连接数据库
c
o
n
n
=
o
d
b
c
c
o
n
n
e
c
t
(
conn = odbc_connect(
conn=odbcconnect(dsn ,$user ,
p
a
s
s
w
o
r
d
)
o
r
d
i
e
(
"
连
接
不
成
功
"
)
i
f
(
!
password) or die ("连接不成功") if(!
password)ordie("连接不成功")if(!conn)
{
exit(“连接失败”.$conn)
}
//设置数据库新增语句
$sql = “insert into A表(d字段,e字段, f字段) values(‘111’, ‘222’, ‘333’)”;
现在到了最关键的时候了,才学的时候我困惑我挺久
接下来不能直接执行新增语句,因为你要去判断数据库里面是否原来就有该项数据,如果不做判断,那么每次新增就会出现无线重复的向数据库添加同样的数据。所以我们接下来需要用判断语句,选择好你需要判断的条件函数,选择哪个条件来判断也是搞了我半天。
$sql_check = "select * from 主要查询字段d = ‘111’“;
//接下来执行该条查询语句
o
d
b
c
c
h
e
c
k
=
o
d
b
c
e
x
e
c
(
odbc_check = odbc_exec(
odbccheck=odbcexec(conn,$sql_check);
//然后我选择的是odbc_num_rows作为条件来判断,结果记录集的总行数
r
o
w
s
=
o
d
b
c
n
u
m
r
o
w
s
(
rows = odbc_num_rows(
rows=odbcnumrows(odbc_check);
//如果查询结果行数小于1,那么就证明没有这个数据,我就需要执行刚才的增加语句
if($rows<1)
{
o
d
b
c
a
d
d
=
o
d
b
c
e
x
e
c
(
odbc_add = odbc_exec(
odbcadd=odbcexec(conn, $sql);
}
else
{
echo “数据重复,已有该项数据”;
}
?>
4.更改数据库资料
//一如既往,首先我们还是设置ODBC变量,然后连接数据库
$dsn = ‘barcode’;
$user = ‘username’;
$password = ‘password’;
c
o
n
n
=
o
d
b
c
c
o
n
n
e
c
t
(
conn = odbc_connect(
conn=odbcconnect(dsn, $user, $password) or die ("数据库连接失败”);
这里呢,,我们就要准备增改查语句啊,根据功能需求实际安排,因为要更改,就必须要确定现在是否有这个数据,如果没有就新增,如果有就更改。
$sql_update = "update change_zbh set jzbh=56798 where sn=‘ADBC123’;//更改语句
$sql_check = "select * from change_zbh where sn=‘ADBC123’;//查询语句
$sql_add = “insert into change_zbh(sn, jzbh, xzbh) values(‘ADBC123’, ‘3344’, ‘5566’)”;//新增语句
接下来就是判断是新增还是更改:条件:有就更改,没有就新增,所以先使用查询语句,判断是否有
o
d
b
c
c
h
e
c
k
=
o
d
b
c
e
x
e
c
(
odbc_check = odbc_exec(
odbccheck=odbcexec(conn. $sql_check);
r
o
w
s
=
o
d
b
c
n
u
m
r
o
w
s
(
rows = odbc_num_rows(
rows=odbcnumrows(odbc_check);
//行数小于1证明没有
if($rows<1)
{
o
d
b
c
a
d
d
=
o
d
b
c
e
x
e
c
(
odbc_add = odbc_exec(
odbcadd=odbcexec(conn,$sql_add);
echo "没有数据,已经重新为您添加“;
}
else
{
o
d
b
c
u
p
d
a
t
e
=
o
d
b
c
e
x
e
c
(
odbc_update = odbc_exec(
odbcupdate=odbcexec(conn, $sql_update);
echo "已经更改成功”.
}
剩下的删也是同样的道理,我确实手都敲酸了,剩下的就不敲了,不能死记硬背,要有思维和逻辑,然后灵活运用函数和技能。