『壹』 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
//這里列舉的都是比較常用的專函數屬