成都网站建设设计

将想法与焦点和您一起共享

c和php交互数据库 php 连接数据库

求解php和c语言的进程间通信能兼容吗

PHP是比较流行的脚本语言,WEB开发使用广泛,如何在C++程序中不依赖任何WEB

创新互联建站专注于杨浦企业网站建设,响应式网站建设,电子商务商城网站建设。杨浦网站建设公司,为杨浦等地区提供建站服务。全流程定制网站制作,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

SERVER调用PHP,并取得执行结果完成交互。

PHP安装好后,在目录下有一个php-cgi.exe,我们只要执行这个CGI程序,并将数据通过命名管道传递给它,然后把执行结果通过命名管道读取出来即可,过程并不复杂!请看如下代码:

命名管道的创建:

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);

启动php-cgi进程:

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);

传递数据:if(!WriteFile(hStdinW,

"var=Hello

VCKBASE!",

18,

dwWritten,

NULL))

return

0;

CloseHandle(hStdinW);

读取返回数据:char

buf[1000]

=

{0};

DWORD

dwRead

=

0;

while(ReadFile(hStdoutR,

buf,

sizeof(buf),

dwRead,

NULL)

dwRead

!=

0){

printf(buf);

}

CloseHandle(hStdoutR);

D盘的test.php

?

echo

$_REQUEST["var"];

?

执行结果:

X-Powered-By:

PHP/5.3.1

Content-type:

text/html

Hello

VCKBASE!

实际上,C++调用其他CGI程序,例如PERL,方法也大同小异,如果你打算做一个自己的WEB服务器,调用CGI程序是少不了的。

php与C的交互问题

你这样做简直就是浪费了PHP 。

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

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

而且PHP 的效率已经非常高了。

php 与 C的结合开发网站是怎么个搞法

PHP(外文名:PHP: Hypertext Preprocessor,中文名:逗超文本预处理器地)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

例如:PHP连接一个mysql数据库操作的演示,

实现连接打开一个库,并读取数据的基本功能。

数据库名称为:test 表名为:user

分别有7个字段:id userid sex age tel email address

服务器;数据库编码 均采用 utf-8

mysql_query("set names 'gbk'"); // //这就是指定数据库字符集,一般放在连接数据库后(解决数据库乱码)

*/

?

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注册会员列表 - 读取mysql的测试/title

/HEAD

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

brbrcenterfont color=green size=3b注 册 会 员 列 表/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"联系电话/td

td width="20%" align="center" valign="bottom"电子邮件/td

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

/tr

?

//连接到本地mysql数据库

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

//选择test为操作库

mysql_query("set names 'gbk'"); // //这就是指定数据库字符集,一般放在连接数据库后面就系了

mysql_select_db("test",$myconn);

$strSql="select * from user";

//用mysql_query函数从user表里读取数据

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

while($row=mysql_fetch_array($result))//通过循环读取数据内容

{

?

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

?

}

//关闭对数据库的连接

mysql_close($myconn);

?

/table

/BODY

/HTML


文章名称:c和php交互数据库 php 连接数据库
本文链接:http://chengdu.cdxwcx.cn/article/hjspee.html