免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8007 | 回复: 18
打印 上一主题 下一主题

求救:PHP和C混合编程中,数据库访问使用C还是PHP更好一些?谢谢! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-05 20:56 |只看该作者 |倒序浏览
各位GGJJ大侠:
        毕业设计做一个网站,主要用于源代码的浏览,显示部分用PHP,对源代码解析的代码用C实现。我想把解析后的结果存放在MySQL中,这样就不必每次都去重新解析了。PHP调用C解析代码,C解析完成之后,将结果存放到数据库中,用户浏览的时候,使用PHP从数据库中读取。我想把数据库访问接口封装一下,但现在不知道使用PHP还是C做封装更好一些。可能我的设计思路就有问题,但是现在已经没法改了,只能把这花样进行到底了。
        如果使用C对数据库访问进行封装,那么在用户浏览的时候,PHP代码调用C代码从数据库中读取了数据,C又怎样传递给PHP?传递过去之后还能够保持比较整齐的格式吗?比如,想从数据库中把整个一张表读取出来,怎么传递给PHP?每次传递的数据量有最大限制吗?
        反过来,如果使用PHP操作数据库,C代码解析完成后的数据传递给PHP数据库操作代码,会不会出现问题?效率会不会受到影响?
        还是第三种可能,两种思路都不行,C只能用C代码访问数据库,PHP使用PHP代码访问数据库?
        另外,如果MySQL中表可以存放多少条记录?考虑到效率,每张表存放多少条会比较合理?如果效率受到影响比较严重的话,我就要考虑对表进行拆分。
        小弟的水平比较菜,自己实在把握不准,所以到CU来向各位大侠请教,恳求指点迷津,小弟感激不尽!

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
2 [报告]
发表于 2007-05-05 22:07 |只看该作者
原帖由 liqix 于 2007-5-5 20:56 发表
各位GGJJ大侠:
        毕业设计做一个网站,主要用于源代码的浏览,显示部分用PHP,对源代码解析的代码用C实现。我想把解析后的结果存放在MySQL中,这样就不必每次都去重新解析了。PHP调用C解析代码,C解析完成 ...


各位GGJJ大侠:
        毕业设计做一个网站,主要用于源代码的浏览,显示部分用PHP,对源代码解析的代码用C实现。我想把解析后的结果存放在MySQL中,这样就不必每次都去重新解析了。PHP调用C解析代码,C解析完成之后,将结果存放到数据库中,用户浏览的时候,使用PHP从数据库中读取。我想把数据库访问接口封装一下,但现在不知道使用PHP还是C做封装更好一些。可能我的设计思路就有问题,但是现在已经没法改了,只能把这花样进行到底了。
  用PHP可能更简单一些,毕竟PHP-MySQL非常成熟了。
  不过要看你自己的喜好,C-MySQL也是非常容易的事情。
  具体怎么做,要看你自己怎么设计你的这个系统的结构的。

    如果使用C对数据库访问进行封装,那么在用户浏览的时候,PHP代码调用C代码从数据库中读取了数据,C又怎样传递给PHP?传递过去之后还能够保持比较整齐的格式吗?比如,想从数据库中把整个一张表读取出来,怎么传递给PHP?每次传递的数据量有最大限制吗?
  更多选择的输入输出,你可以参看:http://cn.php.net/manual/zh/function.proc-open.php
  这样子每次的输入输出,基本是没有限制的,传递过程不会导致格式改变。

    反过来,如果使用PHP操作数据库,C代码解析完成后的数据传递给PHP数据库操作代码,会不会出现问题?效率会不会受到影响?
  不会出现问题。
  谈效率的话,要看你做多大的应用呢?如果仅仅是设计而非投入正式的大型应用,你这个效率上不会有太大的问题。

    还是第三种可能,两种思路都不行,C只能用C代码访问数据库,PHP使用PHP代码访问数据库?
  这一点完全可行。先在的很多大型的应用会采取类似这样子的方法。让c在底层专心做一些耗费资源的核心工作,效率比较高。而PHP负责web部分的处理,也非常的适合。

    另外,如果MySQL中表可以存放多少条记录?考虑到效率,每张表存放多少条会比较合理?如果效率受到影响比较严重的话,我就要考虑对表进行拆分。
  还是前面那句话,你会做多大的应用呢?你会很快就有10万条数据么?

    小弟的水平比较菜,自己实在把握不准,所以到CU来向各位大侠请教,恳求指点迷津,小弟感激不尽!
  因为你对这些方面都不是很理解,所以我暂时没有给你推荐一些需要很专注效率方面的考虑。用自己不熟的去考虑效率,不如先把自己熟的运用好。

论坛徽章:
0
3 [报告]
发表于 2007-05-06 09:11 |只看该作者
HonestQiao ,太谢谢了!这对我太有帮助了,知道了这完全可以,我就用C访问数据库,接下来心里就有底了。谢谢你给我的链接,这正是我所需要的东西!太棒了。
无以表感谢,谨祝工作顺利,阖家幸福!

论坛徽章:
0
4 [报告]
发表于 2007-05-06 10:25 |只看该作者
汗了。毕业设计要这么复杂??直接用PHP就是了,PHP要比c简单多了

对源代码解析的参见乔版的意见
效率方面:生成静态,这样就不用每次去连接数据库了

论坛徽章:
0
5 [报告]
发表于 2007-05-06 10:59 |只看该作者
呵呵,谢谢wuwei517200
本来挺简单的,要求用C实现一个Linux Kernel源代码解析、浏览、统计的工具,再加上一个Gtk或Qt或者随便一个什么的GUI,但必须可以在Linux下运行,单机的。无奈水平实在很菜,不会做窗口界面,于是争取之后,老师同意用Web方式显示。就这样,问题被我搞复杂了,不过既然这样了,就要进行到底了。
用PHP确实很爽,只是要求用C,也只好郁闷了。
要分析的代码量可能比较大,生成静态,会不会要存储很多很多的页面呢?
谢谢

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
6 [报告]
发表于 2007-05-06 11:29 |只看该作者
在你的概念之中,你认为多少是很多很多呢?

另外,代码分析的C代码,有很多很多非常之多,你可以去google找找。

论坛徽章:
0
7 [报告]
发表于 2007-05-06 11:44 |只看该作者
每个C文件对应一个页面,Linux kernel这么庞大,那页面数目应该比较庞大吧。再加上函数调用关系的页面。起码要比内核源代码的文件占的空间大,应该有几百兆吧,不知我的理解是不是正确。
谢谢乔版主的热心

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
8 [报告]
发表于 2007-05-06 12:02 |只看该作者
http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.gz
linux-2.6.21.tar.gz          26-Apr-2007 03:23   53M  
就算扩大十倍,也不过500M,这对mysql来说,属于很小很小的数据量,你完全不用顾虑。

另外,你可以去:http://lxr.linux.no/source/看看。
这样子你就不需要做任何的源代码分析工作了,直接下载过来编译就可以使用了。

花点功夫把在线浏览界面做好看一些,你的导师会喜欢的。

论坛徽章:
0
9 [报告]
发表于 2007-05-06 13:08 |只看该作者
嗯,好主意!这可方便多了。我们导师也说只要有点功能就行,界面要漂亮一点的,呵呵
谢谢乔版主

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
10 [报告]
发表于 2007-05-06 13:16 |只看该作者
原帖由 liqix 于 2007-5-6 13:08 发表
嗯,好主意!这可方便多了。我们导师也说只要有点功能就行,界面要漂亮一点的,呵呵
谢谢乔版主


  好好花点心思在界面上面吧,有可能的话,找个学美工的和一个JJMM一起做。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP