zoukankan      html  css  js  c++  java
  • 在SAE上学php 别的先不弄,先上php调用mysql的 添删改查的代码吧 又加了个继承

    先说一句:我写的代码没用到网上的db类库,那个类库很强大,但是我实在是没时间学了,我就写我用的上的几个小函数够用就好。此代码留作个人记录。

    所有代码经过 新浪SAE平台调试通过

    数据库 表名 test 里面有两个字段 id myName 这里小提一句,所有的sql语句,就直接上phpMyAdmin里面操作,然后就会出现sql语句代码,直接粘过来,就基本都能用了。

    下面附上 dbclass.php

    <?php
    class dbclass
    {
        public $link;
        
        //初始化数据连接
        public function init()
        {
            $link = mysql_connect ( SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT, SAE_MYSQL_USER, SAE_MYSQL_PASS ) or die("error:".mysql_error());
            mysql_select_db ( SAE_MYSQL_DB, $link );
            mysql_set_charset("gbk");
        }
        
        //关闭数据表
        public function closetable($result)
        {
            mysql_free_result ( $result );
        }
        
        //执行sql语句 得到数组
        public function getsql($sql)
        {
            //$sql = "select id,myName from test";
            return mysql_query ( $sql );
        }
        
        //获取一行数据
        public function getrow($result)
        {
            return mysql_fetch_array ( $result, MYSQL_BOTH );
        }
        
    }
    /* 自己改的数据连接方式
    require_once("dbclass.php");//先引入类库
    
    $db = new dbclass();
    $db->init();
    $rows = $db->getsql("select id,myName from test");
    $row = $db->getrow($rows);
    echo $row["id"];
    $db->closetable($rows);
    */
    
    /* 百度来的数据连接方式 
     $link = mysql_connect ( SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT, SAE_MYSQL_USER, SAE_MYSQL_PASS );
                if ($link) {
                    mysql_select_db ( SAE_MYSQL_DB, $link );
                    mysql_set_charset("gbk");
                    $sql = "select id,myName from test";
                    $result = mysql_query ( $sql );
                    while ( $row = mysql_fetch_array ( $result, MYSQL_BOTH ) ) {
                        echo ("<tr><td>$row[0]</td><td>$row[1]</td></tr>");
                    }
                    mysql_free_result ( $result );
                } else {
                    echo "数据库连接KO";
                }
    */
    
    /* 自己改的带列表的输出
    require_once("dbclass.php");
    
    $db = new dbclass();
    $db->init();
    $rows = $db->getsql("select id,myName from test");
    
    while ( $row = $db->getrow($rows) ) 
    {
        echo ($row['id'] . "-". $row[1] ."<br>");
    }
    
    $db->closetable($rows);
    */
    ?>

    下面是test.php 里面就是添删改查的代码了

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head>
    
    <body>
    
    <?php 
    require_once("dbclass.php");
    
    $db = new dbclass();
    $db->init();
    
    //添加数据代码
    if($_POST["do"] == "insert")
    $rows = $db->getsql("insert into test (id,myName) values (NULL,'".$_POST["myname"]."')");
    
    //修改数据代码
    if($_POST["do"] == "modify")
    $rows = $db->getsql("UPDATE test SET myName = '".$_POST["myname"]."' WHERE id =".$_POST["id"]." LIMIT 1");
    
    //删除数据代码
    if($_POST["do"] == "del")
    $rows = $db->getsql("DELETE FROM test WHERE id = ".$_POST["id"]." LIMIT 1");
    
    //显示数据代码
    $rows = $db->getsql("select id,myName from test");
    
    echo "显示列表<br><br>";
    while ( $row = $db->getrow($rows) ) 
    {
        echo ($row['id'] . "-". $row[1] ."<br>");
    }
    
    $db->closetable($rows);
    ?>
    
    <p>添加数据</p>
    <form id="form1" name="form1" method="post" action="">
    myname:
    <input name="myname" type="text" id="myname" /><input name="" type="submit" value="提交" />
    <input name="do" type="hidden" id="do" value="insert" />
    </form>
    
    <p>修改数据</p>
    <form id="form2" name="form2" method="post" action="">
    id:
    <input name="id" type="text" id="id" />
    myname:
    <input name="myname" type="text" id="myname" /><input name="" type="submit" value="提交" />
    <input name="do" type="hidden" id="do" value="modify" />
    </form>
    
    <p>删除数据</p>
    <form id="form3" name="form3" method="post" action="">
      id:
      <input name="id" type="text" id="id" /><input name="" type="submit" value="提交" />
        <input name="do" type="hidden" id="do" value="del" />
    </form>
    
    
    </body>
    </html>

    又加入了个继承 第一次感觉到继承原来这么好使 太牛气了,更新下类库

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head>
    
    <body>
    
    <?php 
    require_once("dbclass.php");
    
    $t = new testClass();
    
    //添加数据代码
    if($_POST["do"] == "insert")
    $rows = $t->insert($_POST["myname"]);
    
    
    //修改数据代码
    if($_POST["do"] == "modify")
    $rows = $t->modify($_POST["id"],$_POST["myname"]);
    
    //删除数据代码
    if($_POST["do"] == "del")
    $rows = $t->del($_POST["id"]);
    
    //显示数据代码
    $rows = $t->getAll();
    
    echo "显示列表<br><br>";
    while ( $row = $t->getrow($rows) ) 
    {
        echo ($row['id'] . "-". $row[1] ."<br>");
    }
    
    $t->closetable($rows);
    ?>
    
    <p>添加数据</p>
    <form id="form1" name="form1" method="post" action="">
    myname:
    <input name="myname" type="text" id="myname" /><input name="" type="submit" value="提交" />
    <input name="do" type="hidden" id="do" value="insert" />
    </form>
    
    <p>修改数据</p>
    <form id="form2" name="form2" method="post" action="">
    id:
    <input name="id" type="text" id="id" />
    myname:
    <input name="myname" type="text" id="myname" /><input name="" type="submit" value="提交" />
    <input name="do" type="hidden" id="do" value="modify" />
    </form>
    
    <p>删除数据</p>
    <form id="form3" name="form3" method="post" action="">
      id:
      <input name="id" type="text" id="id" /><input name="" type="submit" value="提交" />
        <input name="do" type="hidden" id="do" value="del" />
    </form>
    
    
    </body>
    </html>
    <?php
    class dbclass
    {
        public $link;
        
        //初始化数据连接
        public function init()
        {
            $link = mysql_connect ( SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT, SAE_MYSQL_USER, SAE_MYSQL_PASS ) or die("error:".mysql_error());
            mysql_select_db ( SAE_MYSQL_DB, $link );
            mysql_set_charset("gbk");
        }
        
        //关闭数据表
        public function closetable($result)
        {
            mysql_free_result ( $result );
        }
        
        //执行sql语句 得到数组
        public function getsql($sql)
        {
            //$sql = "select id,myName from test";
            return mysql_query ( $sql );
        }
        
        //获取一行数据
        public function getrow($result)
        {
            return mysql_fetch_array ( $result, MYSQL_BOTH );
        }
        
    }
    
    class testClass extends dbclass
    {
        //构造函数
        function __construct()
        {
           //parent::printName();  通过parent关键字调用父类的方法,跟C#的base一样(但它调用的是子类的属性)
           parent::init();
        }
        
        function getAll()
        {
            return parent::getsql("select id,myName from test");
        }
        
        function insert($myName)
        {
            parent::getsql("insert into test (id,myName) values (NULL,'".$myName."')");
        }
        
        function modify($id,$myName)
        {
            parent::getsql("UPDATE test SET myName = '".$myName."' WHERE id =".$id." LIMIT 1");
        }
        
        function del($id)
        {
            parent::getsql("DELETE FROM test WHERE id = ".$id." LIMIT 1");
        }
    }
    /* 自己改的数据连接方式
    require_once("dbclass.php");//先引入类库
    
    $db = new dbclass();
    $db->init();
    $rows = $db->getsql("select id,myName from test");
    $row = $db->getrow($rows);
    echo $row["id"];
    $db->closetable($rows);
    */
    
    /* 百度来的数据连接方式 
     $link = mysql_connect ( SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT, SAE_MYSQL_USER, SAE_MYSQL_PASS );
                if ($link) {
                    mysql_select_db ( SAE_MYSQL_DB, $link );
                    mysql_set_charset("gbk");
                    $sql = "select id,myName from test";
                    $result = mysql_query ( $sql );
                    while ( $row = mysql_fetch_array ( $result, MYSQL_BOTH ) ) {
                        echo ("<tr><td>$row[0]</td><td>$row[1]</td></tr>");
                    }
                    mysql_free_result ( $result );
                } else {
                    echo "数据库连接KO";
                }
    */
    
    /* 自己改的带列表的输出
    require_once("dbclass.php");
    
    $db = new dbclass();
    $db->init();
    $rows = $db->getsql("select id,myName from test");
    
    while ( $row = $db->getrow($rows) ) 
    {
        echo ($row['id'] . "-". $row[1] ."<br>");
    }
    
    $db->closetable($rows);
    */
    ?>

    现在再用testClass生成对象的时候 就完全看不见sql语句了。

    -------------------------------

    <?php   ?>  php内置环境
    echo() 输出函数
    strpos() 函数 寻找一个字符串在另外一个字符串里是否存在
    $_POST['name'] 获取一个post的变量
    $_GET['id'] 获取一个get的变量
    // /* */ # 注释语句
    $ 变量名前面都要加的一个yd符号
    gettype($a_str) 查看某一个变量的类型
    is_int() is_string() 等等是查看是否是某个变量类型
    settype($bar, "string"); 强制转换变量类型
    == 双等号是判定是否相等
    var_dump() 打印变量的相关信息
    . 字符串连接符
    & 引用赋值 例如 $foo = 'Bob';$bar = &$foo; 这样就是地址引用赋值
    global 全局变量定义符 php默认内部变量和外部变量绝交啊 除非重新定义
    static $a = 0; 静态变量赋值 第一次定义后就不会再定义了
    $$ 可变变量 差不多相当引用 例 $a='hello'; $$a='work';//等同 $hello='work';
    ${$a[1]} 可变变量当遇到数组的时候 需要{}包含确保准确性
    $_SERVER['PHP_SELF']; 自身页面地址
    $_COOKIE['count'] 读取cookie
    setcookie('count', $count, time()+3600); 写入cookie
    const CONSTANT = 'Hello World'; 定义常量
    __LINE__ __FILE__ __DIR__ __FUNCTION__ __CLASS__ __METHOD__ __NAMESPACE__ 魔术常量
    .= 用于字符串拼接

    看到 php5.3参考手册 语言参考->类与对象

    ---------------------------------------------
    生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果是对自己行动的嘉奖。
    ↑面的话,越看越不痛快,应该这么说:

    生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!
  • 相关阅读:
    大地坐标
    坐标转换
    哈希&查找树@堆
    设计模式--工厂模式(c++)
    STL容器的删除操作
    istringstream & ostringstream & stringstream
    第九次集体开发
    第八次开发
    我组举行第十四次立会暨第七次集体项目开发
    第十三次立会暨第六次集体开发
  • 原文地址:https://www.cnblogs.com/pengchenggang/p/2889730.html
Copyright © 2011-2022 走看看