c和php交互數(shù)據(jù)庫(kù) php 連接數(shù)據(jù)庫(kù)

求解php和c語(yǔ)言的進(jìn)程間通信能兼容嗎

PHP是比較流行的腳本語(yǔ)言,WEB開(kāi)發(fā)使用廣泛,如何在C++程序中不依賴(lài)任何WEB

創(chuàng)新互聯(lián)建站專(zhuān)注于楊浦企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),電子商務(wù)商城網(wǎng)站建設(shè)。楊浦網(wǎng)站建設(shè)公司,為楊浦等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站制作,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

SERVER調(diào)用PHP,并取得執(zhí)行結(jié)果完成交互。

PHP安裝好后,在目錄下有一個(gè)php-cgi.exe,我們只要執(zhí)行這個(gè)CGI程序,并將數(shù)據(jù)通過(guò)命名管道傳遞給它,然后把執(zhí)行結(jié)果通過(guò)命名管道讀取出來(lái)即可,過(guò)程并不復(fù)雜!請(qǐng)看如下代碼:

命名管道的創(chuàng)建:

SECURITY_ATTRIBUTES

sa

=

{sizeof(SECURITY_ATTRIBUTES)};

sa.bInheritHandle

=

1;

sa.lpSecurityDescriptor

=

NULL;

HANDLE

hStdoutR,

hStdoutW,

hStdinR,

hStdinW;

CreatePipe(hStdoutR,

hStdoutW,

sa,

0);

SetHandleInformation(hStdoutR,HANDLE_FLAG_INHERIT,

0);

CreatePipe(hStdinR,

hStdinW,

sa,

0);

SetHandleInformation(hStdinW,

HANDLE_FLAG_INHERIT,

0);

啟動(dòng)php-cgi進(jìn)程:

STARTUPINFO

si

=

{sizeof(STARTUPINFO)};

PROCESS_INFORMATION

pi;

si.dwFlags

=

STARTF_USESTDHANDLES;

si.hStdOutput

=

hStdoutW;

si.hStdInput

=

hStdinR;

char

env[255]

=

"REQUEST_METHOD=POST\0CONTENT_LENGTH=18\0CONTENT_TYPE=

application/x-www-form-urlencoded\0SCRIPT_FILENAME=D:\\test.php";

if(!CreateProcess(NULL,

"d:\\php5\\php-cgi.exe

D:\\test.php",

NULL,

NULL,

1,

NORMAL_PRIORITY_CLASS,

env,

NULL,

si,

pi))

return

0;

CloseHandle(hStdoutW);

CloseHandle(hStdinR);

傳遞數(shù)據(jù):if(!WriteFile(hStdinW,

"var=Hello

VCKBASE!",

18,

dwWritten,

NULL))

return

0;

CloseHandle(hStdinW);

讀取返回?cái)?shù)據(jù):char

buf[1000]

=

{0};

DWORD

dwRead

=

0;

while(ReadFile(hStdoutR,

buf,

sizeof(buf),

dwRead,

NULL)

dwRead

!=

0){

printf(buf);

}

CloseHandle(hStdoutR);

D盤(pán)的test.php

?

echo

$_REQUEST["var"];

?

執(zhí)行結(jié)果:

X-Powered-By:

PHP/5.3.1

Content-type:

text/html

Hello

VCKBASE!

實(shí)際上,C++調(diào)用其他CGI程序,例如PERL,方法也大同小異,如果你打算做一個(gè)自己的WEB服務(wù)器,調(diào)用CGI程序是少不了的。

php與C的交互問(wèn)題

你這樣做簡(jiǎn)直就是浪費(fèi)了PHP 。

PHP 是做后端的不是做前端的。前端用 html。

如果不是效率要求特別高,是用不上C 的。

而且PHP 的效率已經(jīng)非常高了。

php 與 C的結(jié)合開(kāi)發(fā)網(wǎng)站是怎么個(gè)搞法

PHP(外文名:PHP: Hypertext Preprocessor,中文名:逗超文本預(yù)處理器地)是一種通用開(kāi)源腳本語(yǔ)言。語(yǔ)法吸收了C語(yǔ)言、Java和Perl的特點(diǎn),利于學(xué)習(xí),使用廣泛,主要適用于Web開(kāi)發(fā)領(lǐng)域。PHP 獨(dú)特的語(yǔ)法混合了C、Java、Perl以及PHP自創(chuàng)的語(yǔ)法。它可以比CGI或者Perl更快速地執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用PHP做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。

例如:PHP連接一個(gè)mysql數(shù)據(jù)庫(kù)操作的演示,

實(shí)現(xiàn)連接打開(kāi)一個(gè)庫(kù),并讀取數(shù)據(jù)的基本功能。

數(shù)據(jù)庫(kù)名稱(chēng)為:test 表名為:user

分別有7個(gè)字段:id userid sex age tel email address

服務(wù)器;數(shù)據(jù)庫(kù)編碼 均采用 utf-8

mysql_query("set names 'gbk'"); // //這就是指定數(shù)據(jù)庫(kù)字符集,一般放在連接數(shù)據(jù)庫(kù)后(解決數(shù)據(jù)庫(kù)亂碼)

*/

?

HTML

HEAD

META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"

style type="text/css"

!--

input { font-size:9pt;}

A:link {text-decoration: underline; font-size:9pt;color:000059}

A:visited {text-decoration: underline; font-size:9pt;color:000059}

A:active {text-decoration: none; font-size:9pt}

A:hover {text-decoration:underline;color:red}

body,table {font-size: 9pt}

tr,td{font-size:9pt}

--

/style

title注冊(cè)會(huì)員列表 - 讀取mysql的測(cè)試/title

/HEAD

body alink="#FF0000" link="#000099" vlink="#CC6600" topmargin="8" leftmargin="0" bgColor="#FFFFFF"

brbrcenterfont color=green size=3b注 冊(cè) 會(huì) 員 列 表/b/font/center

br

table cellspacing=0 bordercolordark=#FFFFFF width="95%" bordercolorlight=#000000 border=1 align="center" cellpadding="2"

tr bgcolor="#6b8ba8" style="color:FFFFFF"

td width="5%" align="center" valign="bottom" height="19"ID/td

td width="10%" align="center" valign="bottom"姓名/td

td width="5%" align="center" valign="bottom"性別/td

td width="5%" align="center" valign="bottom"年齡/td

td width="20%" align="center" valign="bottom"聯(lián)系電話(huà)/td

td width="20%" align="center" valign="bottom"電子郵件/td

td width="20%" align="center" valign="bottom"家庭住址/td

/tr

?

//連接到本地mysql數(shù)據(jù)庫(kù)

$myconn=mysql_connect("localhost","root","root");

//選擇test為操作庫(kù)

mysql_query("set names 'gbk'"); // //這就是指定數(shù)據(jù)庫(kù)字符集,一般放在連接數(shù)據(jù)庫(kù)后面就系了

mysql_select_db("test",$myconn);

$strSql="select * from user";

//用mysql_query函數(shù)從user表里讀取數(shù)據(jù)

$result=mysql_query($strSql,$myconn);

while($row=mysql_fetch_array($result))//通過(guò)循環(huán)讀取數(shù)據(jù)內(nèi)容

{

?

tr

td align="center" height="19"?echo $row["id"]?/td

td align="center"?echo $row["userid"]?/td

td align="center"?echo $row["sex"]?/td

td align="center"?echo $row["age"]?/td

td align="center"?echo $row["tel"]?/td

td align="center"?echo $row["email"]?/td

td align="center"?echo $row["address"]?/td

/tr

?

}

//關(guān)閉對(duì)數(shù)據(jù)庫(kù)的連接

mysql_close($myconn);

?

/table

/BODY

/HTML

網(wǎng)頁(yè)名稱(chēng):c和php交互數(shù)據(jù)庫(kù) php 連接數(shù)據(jù)庫(kù)
文章源于:http://muchs.cn/article44/hjspee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站建設(shè)、、做網(wǎng)站、關(guān)鍵詞優(yōu)化、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)