『壹』 PHP通过ODBC连接到PROGRESS数据库
Progress的ODBC并不是通用的,需要用专门的ODBC工具软件来连接,最常用的是Merant ODBC,此以Merant3.7来介绍如何连接progress数据库,由于可能存在不同的操作系统,当然连接方式有些不同.使用Merant3.7需要在客户端安装Progress数据库才可以.
服务端unix(即数据库存放在unix上),客户端window2000服务器配置:
1.在/etc/services配置文件中添加一行启动odbc的端口,例如:
merant 6000/tcp # merantODBC的端口
2.在需要使用odbc的用户的.profile文件中增加变量及路径例如:
DLC=/dlc/91e /*安装的progress的路径*/
PROOIBRK=/dlc/91e/bin/_prooibk /*需要调用的程序的路径*/PROOIDRV=/dlc/91e/bin/_prooidv /*需要调用的程序的路径*/PATH=/dlc/91e/bin:$PATH
export PATH
export DLC
export PROOIBRK
export PROOIDRV
3.执行启动odbc的命令
例如:
/dlc/91e/bin/_prooibk -SV -S merant /*根据progress安装的目录不同会不同,merant是services中增加的端口名称,两边可以随便取名字但必须一样*/客户端配置:
1.同服务端配置一样需要在C:WINNTsystem32driversetc的services文件中增加一行例如:
merant 6000/tcp # merantODBC的端口
2.在系统控制台增加环境变量,建议增加系统的环境变量,根据客户端progress安装的目录不同,可能有所不同DLC c:dlc The directory where you installed the Progress client piecesIDLC c:dlc Required only for 8.1 or higher clientsPROMSGS c:dlcpromsgs The directory and name of the message fileIPROMSGS c:dlcpromsgs Required only for 8.1 or higher clientsPATH c:dlcbin;c:dlc;c:winNTsystem32;%path% Example for Windows NTTEMP c:temp
3.在odbc数据源中作如下配置:
general:
data source name:自己取名
description:随便
database name:数据库的名字
user id:不填
oid/oib options:
protocol:tcp
service name:在services文件中加的merantodbc的端口名称host name:服务器的名称或ip(建议用ip,否则还要在hosts文件中加解析)database options:
database access mode:via server
protocol:tcp
service name:启动数据库的端口名(是在服务端启动数据库服务的端口名也是在服务端的services文件中)host name:启动数据库服务的机器名或ip(推荐ip)完成后应该可以连接上了
『贰』 命令代码大全
命令代码如下:
1、shutdown.exe -a取消关机;
2、shutdown.exe -s 关机;
3、shutdown.exe -f强行关闭应用程序;
4、shutdown.exe -m \计算机内名控制远容程计算机;
5、shutdown.exe -i显示图形用户界面,但必须是Shutdown的第一个参数;
6、shutdown.exe -l注销当前用户;
7、shutdown -r关机并重启;
8、shutdown.exe -t 设置关机倒计时,设置关闭前的超时为 xxx 秒。
电脑常见命令是指通过特定代码控制电脑程序的操作命令,比如关机命令:shutdown.exe -s
开始菜单中的“运行”是通向程序的快捷途径,输入特定的命令后,即可快速的打开Windows的大部分程序,熟练的运用它,将给我们的操作带来诸多便捷。
『叁』 mysql如何查看所有数据库名命令
使用show databases,就能来列出你有权限源操作的数据库名,如果你只有一个数据库权限,那么列出来的就是你当前的数据库名。
『肆』 php `` '' ""用法
PHP常用代码大全,都是一些开发中常用的基础。
『伍』 PHP执行linux系统命令的常用函数使用说明
system函数
说明:执行外部程序并显示输出资料。
语法:string
system(string
command,
int
[return_var]);
返回值:
字符串
详细介绍:
本函数就像是
C
语中的函数
system(),用来执行指令,并输出结果。若是
return_var
参数存在,则执行
command
之后的状态会填入
return_var
中。同样值得注意的是若需要处理用户输入的资料,而又要防止用户耍花招破解系统,则可以使用
EscapeShellCmd()。若
PHP
以模块式的执行,本函数会在每一行输出后自动更新
Web
服务器的输出缓冲暂存区。若需要完整的返回字符串,且不想经过不必要的其它中间的输出界面,可以使用
PassThru()。
实例代码:
复制代码
代码如下:
<
?php
$last_line
=
system('ls',
$retval);
echo
'Last
line
of
the
output:
'
.
$last_line;
echo
'<hr
/>Return
value:
'
.
$retval;
?>
exec函数
说明:执行外部程序。
语法:string
exec(string
command,
string
[array],
int
[return_var]);
返回值:
字符串
详细介绍:
本函数执行输入
command
的外部程序或外部指令。它的返回字符串只是外部程序执行后返回的最后一行;若需要完整的返回字符串,可以使用
PassThru()
这个函数。
要是参数
array
存在,command
会将
array
加到参数中执行,若不欲
array
被处理,可以在执行
exec()
之前呼叫
unset()。若是
return_var
跟
array
二个参数都存在,则执行
command
之后的状态会填入
return_var
中。
值得注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用
EscapeShellCmd()。
实例代码:
复制代码
代码如下:
<
?php
echo
exec('whoami');
?>
popen函数
说明:打开文件。
语法:int
popen(string
command,
string
mode);
返回值:
整数
详细介绍:
本函数执行指令开档,而该文件是用管道方式处理的文件。用本函数打开的文件只能是单向的
(只能读或只能写),而且一定要用
pclose()
关闭。在文件操作上可使用
fgets()、fgetss()
与
fputs()。若是开档发生错误,返回
false
值。
实例代码:
复制代码
代码如下:
<
?
$fp
=
popen("/bin/ls","r"
);
?>
PHP监控linux服务器负载
在实际项目的应用中,我们由于各种条件的现实,利用PHP来实现服务器负载监控将是一种更为灵活的方式。
由于Web
Server以及PHP的实现方式所限,我们在现实环境中很难利用PHP去调用一些Linux中需要root权限才能执行的程序,对此,我从网上找到另外一种方式来绕开这个限制。首先先写个c程序中转调用系统命令,然后用PHP去执行此c程序。
c程序
首先写个c文件,比如/usr/local/ismole/w.c
复制代码
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<systypes.h>
#include<unistd.h>
int
main()
{
uid_t
uid
,euid;
//note
获得当前的uid
uid
=
getuid();
//note
获得当前euid
euid
=
geteuid();
//note
交换这两个id
if(setreuid(euid,
uid))
perror("setreuid");
//note
执行将要执行linux系统命令
system("/usr/bin/w");
return0;
}
编译该文件gcc
-o
w
-Wall
w.c,这时会在当前目录下生成程序w。改变此程序的属主chmod
u+s
./w。
PHP执行
文件内容如下,放在web目录下,访问就会输出当前的服务器负载情况。
复制代码
代码如下:
<?php
/*
More
&
Original
PHP
Framwork
Copyright
(c)
2007
-
2008
IsMole
Inc.
$Id:
serverMonitor.php
408
2008-12-02
08:07:40Z
kimi
$
*/
//note
key的验证过程
if($key
!=
$authkey)
{
//
exit('key
error);
}
$last_line
=
exec('/usr/local/ismole/w',
$retval);
$returnArray
=
explode("load
average:
",
$retval[0]);
$returnString
=
$returnArray[1];
echo
$returnString;
按照上面的实例,我们可以用PHP来做任何我们想执行的Linux系统命令,SVN更新,服务器监控,备份,恢复,日常维护等等。
『陆』 关于PHP获取MYSQL数据超出范围的问题
select*frommytablewherenamelike'张%'limit3,5;
#查询姓名为张并且取第三条到第5条的数据,
#我一般叫做分页查询就是截取从第几条到第几条
Mysql操作
创建数据库
新建数据库命令:Createdatabase 数据库
查看所有数据库
命令:Show databases
打开数据库
命令:use 数据库名
删除数据库
命令:drop database 数据库名
创建表
命令:create table 表名(列名 数据类型,列名 数据类型,。。。。。。。)
查看当前数据库下所有表
命令:show tables
查看当前表结构
命令:desc 表名
删除表
命令:drop table 表名
插入数据insert
命令:Insert into 表名(字段1,字段2,字段3……)values(值1,值2,值3……)
查看数据select
命令:Select 字段1,字段2,……from 表名。字段之间用“,”隔开,如果查询所有的字段用“*”来代替。
修改数据update
命令:update 表名 set 字段名1=‘新值1’,字段名2=‘新值2’ where='条件' 如果不加where条件那么将会把所有的记录的值都修改掉。
删除数据delete
命令:delete from 表名 where 条件。如果不加where条件那么将会把所有的记录都删除掉。
mysql中的运算符
算术运算符:
大于: >
小于: <
等于: =
不等于: !=
大于等于: >=
小于等于: <=
逻辑运算符:
且: and
或者: or
between.....and.....
Between.....and.....:代表在什么什么之间,通常用于范围的查询
in查询
Delete from 学生表 where id in=10 orid=12 or id=13)
例子 Delete from 学生表 where id in(10,12,13)
排序的order by
Order by为排序的意思,格式为:order by 排序列 desc(指的是降序)asc(指的是升序) 默认为升序
例子:Select * from table order by id desc
模糊查询
模糊查询通常用于关键字查询,使用like来代表
% 代表任意多个字符 _ 代表任意一个字符
例如:查询出姓张的学生姓名
Select * from 学生表 where name like ‘张%’
查询出学生姓名中包含’大‘的学生信息
Select * from 学生表 where name like’%张%
查询出电话号的第二位是5的学生信息
elect * from 学生表 where name like’_5%’
limit限制记录条数(limit可以减轻mysql压力,主要用截取和分页)
偏移量 (分页时用的) :(当前页减1)*每页条数
偏移量就是 limit 偏移量,每页条数
Limit用于限制结果集,限制查询出的条数,可以有一个参数也可以有两个参数,一个参数的时候代表从第一条数据查询取多少条,两个参数的时候,第一个参数代表从哪条记录开始,但不包括该条记录,第二个参数代表取多少条。
例如:查询出学生信息前三条
Select * from 学生表 limit 3
Select * from 学生表 limit 0,3
例如:按照学生年龄排序查询出年龄最大的学生,从第三条开始取5条(排序加截取)
Select * from 学生表 order by age desclimit 2,5
偏移量就是 limit 偏移量,每页条数
给表起别名 as
起别名用关键字 as
给表起别名:select * from 表名别名
给列起别名:select name as 用户名,sex as 性别 from 表名
关联查询
内连接查询数据
内连接又称全链接,用关键字inner join表示,内连接查询两张表中的数据,如果关联的条件相等,也就是两张表中同时存在的数据才会被查询出来
例如: Select * from 新闻表 inner join 分类表 on 新闻表.分类id=分类表.id
左外连接
左外连接用关键字left join 表示,以from后面的表为主表,去left join后面的表中匹配数据,如果匹配的不到则显示null
例如: Select * from 新闻表 left join 分类表 on 新闻表.分类id=分类表.id
右外连接
右外连接用关键字right join 表示,以from后面的表为主表,去right join后面的表中匹配数据,如果匹配的不到则显示null
例如: Select * from 新闻表 right join 分类表 on 新闻表.分类id=分类表.id
注意:where什么时候用什么时候不用
(inner join连接)(where条件)(like模糊查询)(limit限制条数)(desc排序)
例子:
Select * from table where id=1
Select * from table where id in (n....) like %%
Select * from table right join ... on...=... where id=1
Select * from table limit 1
Select * from table limit 30 desc id
Select * from table where id=1
select * from `res_students`
inner join `res_class` on `res_class`.`class_id`= `res_students`.`class_id` inner join `res_grade` on `res_sgrade`.`sid` =`res_students`.`sid`
where `res_students`.`class_id`= 1 and `g_add_date` = 2016-08-07
order by `res_grade`.`sid` asc
表名.键名 这样可以防止表里的键名相同导致报错
表名和键名注意关键字 键盘上esc按键下(横向数字1左边的按键)面的符号
` 可以防止关键字
php操作mysql的步骤
Php操作mysql必须让php打开mysql扩展:
打开php.ini文件,找到:;extension=php_mysql.dll将前面的分号去掉,重启apache即可让php支持mysql扩展
编写程序调试php是否真正能够连接mysql:
① 连接数据库:mysql_connect(“数据库地址”,’管理员名称’,’管理员密码’)
② 选择数据库:mysql_select_db(“库名”,第一步返回的连接标识)
③ 设置字符集:mysql_query(‘set names utf8’);
④ 拼写sql语句执行,mysql_query(‘增删改查都可以’)
Php操作mysql常用函数:
mysql_connect():打开一个数据库连接,三个参数,第一个参数是数据库的地址,第二个参数是管理员名,第三个参数是密码 返回一个数据库连接标识
mysql_select_db():选择数据库,有两个参数 第一个参数是数据库名称,第二个参数,mysql_connect返回的数据库标识
mysql_query():执行sql语句 对select返回的是资源对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。
mysql_fetch_array():从结果集中取得一行作为关联数组,或数字数组,或二者兼有
mysql_fetch_array($res,MYSQL_NUM)这将是索引数组
mysql_fetch_array($res,MYSQL_ASSOC)这将是关联数组
mysql_fetch_assoc():从结果集中取得一行作为关联数组
mysql_fetch_row():从结果集中取得一行作为索引数组
mysql_insert_id():取得刚刚插入自动增长的id不需要写任何参数
例子:
<?php
//注意 php版本要 小于等于 5.3
header("content-type:text/html;charset=utf-8");
$link=mysql_connect("127.0.0.1",'root','root') or die('连接数据库错误');
mysql_select_db("test",$link) or die('选择数据库错误');
//mysql_select_db 第二个参数可要可不要 就近原则
mysql_query("set names utf8");
$sql='select * from bumen';
$res=mysql_query($sql);
?>
<?php
//服务器端文件代码:
//header头前不能有输出
header("content-type:text/html;charset=utf-8");
//接受用户注册的信息
$name=$_POST['username'];
$pwd=$_POST['pwd'];
$sex=$_POST['sex'];
$bumen=$_POST['bumen'];
$jianjie=$_POST['jianjie'];
//① 连接数据库 mysql_connect('数据库的ip','管理员名称','密码'); 返回一个数据库连接标识是个资源
$link=mysql_connect('127.0.0.1','root','root')or die("数据库连接失败");
//② 选择数据库 mysql_select_db('库名',数据库的连接标识)
mysql_select_db('tt',$link);
echo mysql_error();
die;
//③ 设置数据库的字符集 mysql_query('set namesutf8')
mysql_query('set names utf8');
//④ 写sql语句进行执行,增、删、改、查都可以的 用mysql_query()来执行
//注意:mysql_query()对于select返回的是一个资源,其他的也就是delete、insert、update返回的都是布尔也就是真或者假
$sql="insert into yuangong (name,pwd,sex,bumen,jianjie)values('$name','$pwd','$sex','$bumen','$jianjie')";
if(mysql_query($sql)){
echo "添加成功!";
}else{
echo "添加失败!";
}
?>
数据库可视化操作工具
navicat (window安装收费)
phpmyadmin(免费跨平台,不用安装 php)
『柒』 如何使用mysql命令行
打开开始-》运行-》输入cmd回车,开启命令行模式,简单的一些命令有如下
//window下mysql服务的启动与停止****************
//方法一:
启动 : cmd下输入'net start mysql'
停止 : cmd下输入'net stop mysql'
//方法二 : (推荐,省的记命令)
控制面板>管理工具>服务(或者直接搜索'服务'),然后找到mysql,直接启动或停止
//mysql登录和退出******************
//登录
mysql -uroot -p #或:mysql -hlocalhost -uroot -p
#注 : 如果报错 " 'mysql' 不是内部或外部命令... ",那就是win系统的环境变量没有配置
//退出
exit
//数据库定义语句******************
//创建数据库
create database day01_test [charset utf8] [collate utf8_general_ci];
#默认字符编码utf8,默认排序规则utf8_general_ci ,,, []代表可选项
//删除数据库
drop database day01_test;
//其他数据库操作
show databases; //显示系统中所有数据库
use day01_test; //选择day01_test库
//mysql的字段类型******************
/*
//整型
+------------+-----------+------------------------+-------+
| 类型 | 大小(字节)| 范围(有符号) |是否常用|
+------------+-----------+------------------------+-------+
| tinyint | 1 | -128~127 | √ |
| smallint | 2 | -32768~32767 | |
| mediumint | 3 | -8388608~8388607 | |
| int | 4 | -2147483648~2147483647 | √ |
| bigint | 8 | +-9.22*10的18次方 | |
+------------+-----------+------------------------+-------|
注:unsigned:声明无符号,就是不能为负,如tinyint声明无符号范围为0~256
*/
/*
//浮点型
+--------------+---------------+------------------------+-------+
| 类型 | 大小(字节) | 范围(有符号) |是否常用|
+--------------+---------------+------------------------+-------+
| float(m,d) | 4 单精度 | -128~127 | |
| double(m,d) | 8 双精度 | -32768~32767 | |
| decimal(m,d) | 依赖于M和D的值| -8388608~8388607 | √ |
+------------+-----------+------------------------------+-------|
*/
/*
//字符类型
+---------+--------------+-----------+--------+
| 类型 | 大小(字节) | 用途 |是否常用|
+---------+--------------+-----------+--------+
| CHAR | 0-255 | 固定长度 | √ |
| VARCHAR | 0-65535 | 变化长度 | √ |
| TEXT | 0-65535 | 长文本数据 | √ |
| enum | 最多65535选项| 单选类型 | |
| set | 最多64选项 | 多选类型 | |
+---------+--------------+------------+-------|
char : 固定长度,字段设为char(10) , 如果用户只存储3个字符,也占10个字符的空间
varchar : 变化长度,字段设为varchar(10), 如果用户只存储3个字符,只占3个字符的空间
text : 通常用于存储大文本,如博客,论文等
*/
/*
//时间类型
+-----------+-----------+-----------------------------------------+-------+
| 类型 | 大小(字节)| 范围 |是否常用|
+-----------+-----------+-----------------------------------------+-------+
| DATE | 3 | 1000-01-01/9999-12-31 | |
| TIME | 3 | -838:59:59/838:59:59 | |
| YEAR | 1 | 1901/2155 | |
| DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | |
| TIMESTAMP | 8 | 1970-01-01 00:00:00/2037 年某时 | |
+-----------+-----------+-----------------------------------------+-------|
注 : 存储时间基本不用时间类型 , 而是将时间存为时间戳,用int类型
*/
//表的简单创建语法*********************
create table student(
id int,
name varchar(10)
);
//表的其他常规操作*********************
//显示所有表
show tables;
//显示表结构
desc 表名;
//显示表的创建语句
show create table 表名;
//删除表
drop table aaa;
黑马程序员的PHP是国内最早开设的真正人工智能课程。课程全面系统,紧跟时代潮流。
『捌』 php怎么用
简单点,要运行PHP环境,本地或者服务器都可以。具体几句说不明白。
『玖』 php mysql基本函数命令有哪些啊
http://www.w3school.com.cn/php/php_ref_mysql.asp
//这里列举的都是比较常用的专函数属