做asp很多年了,php也会一点,但是感觉不专业,现在想重新完整学一下php,有几个问题咨询一下
1、在asp中,我们一般把链接数据库的conn对象放在conn.asp文件里面,然后include到每个文件,要访问数据库的时候只需要调用rs.open sql,conn,1,1就行了,php一般标准写法是怎么做的,还有php函数里面不能直接调用函数外的变量,那函数里面怎么访问数据库呢?2、向数据库里面添加或者修改数据的时候,是不是一定要用INSERT INTO或者UPDATE语句,能不能像asp一样:
rs(“XX”)=1
rs(“BB”)=2
Rs.update
这样添加或者修改数据?因为有的时候字段太多有几十个的时候,用INSERT INTO或者UPDATE语句实在太麻烦了。3、php包含文件有include、include_once、require、require_once,一般情况到底用哪个?4、
$sql = "select * from tablename“;
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
Echo $row["字段名"];
}
这样可以依次读取所有数据,但是如果之后还要再依次读取一次怎么办呢,再重新读取一次数据库?

解决方案 »

  1.   

    操作数据库的时候,循环放入一个变量当中以后直接使用这个变量就行了,不用再操作数据库$data = array();
    while($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
      

  2.   

    我现在最不明白的是怎么在自定义函数或者类里面访问数据库,我现在是这样
    $GLOBALS["servername"] = "127.0.0.1";
    $GLOBALS["username"] = "xxx";
    $GLOBALS["password"] = "xxx";
    $GLOBALS["dbname"] = "xxx";
    date_default_timezone_set("PRC");
    // 创建连接 
    $GLOBALS["conn"] = new mysqli($GLOBALS["servername"], $GLOBALS["username"], $GLOBALS["password"], $GLOBALS['dbname']);
    $GLOBALS["conn"]->query("SET NAMES gb2312");然后函数里面就用$GLOBALS["conn"]->query($sql)访问数据库,但是感觉这样不太标准,一般正规的做法应该是怎样的啊?(不考虑用框架)
      

  3.   

    asp 一般使用 bs (basic script),而 basic 源于计算机远的鼻祖 fortran
    在 fortran 语言中,变量已经定义,就可以被其后的所有的代码段所使用,除非被重新声明
    于是后集合几乎所有语言都延续了这个特征,比如:C、C++、java、C# ....
    但他也有一些弊病,容易被滥用,不符合软件工程的规则
    php 采用了更为严密的做法:在函数里不能简单的使用全局变量,除非有 global 声明或通过 $GLOBALS 数组,这样可以使程序结构 更为简洁清晰1、php 可以将数据库连接代码放在 include 的文件中,在函数中使用连接字时,需要声明外部变量,或显式的传入
    2、你描述的是 adodb 对象的功能,并非 asp 的
    3、在 php4 中,include、include_once、require、require_once 有各自的应用场合,到了 php5 已经没有本质的区别了
    4、回绕,基本上所有数据库操作扩展都提供了 seek 指令:定位到结果集指定位置