在SAE上學php 別的先不弄,先上php調用mysql的 添刪改查的代碼吧 又加了個繼承

來源:互聯網
上載者:User

先說一句:我寫的代碼沒用到網上的db類庫,那個類庫很強大,但是我實在是沒時間學了,我就寫我用的上的幾個小函數夠用就好。此代碼留作個人記錄。

所有代碼經過 新浪SAE平台調試通過

資料庫 表名 test 裡面有兩個欄位 id myName 這裡小提一句,所有的sql語句,就直接上phpMyAdmin裡面操作,然後就會出現sql語句代碼,直接粘過來,就基本都能用了。

下面附上 dbclass.php

<?phpclass 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>
<?phpclass 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參考手冊 語言參考->類與對象

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.