php+mysql的基礎操作

來源:互聯網
上載者:User

標籤:

  PHP可以說是當下很火的一門後端語言了,它小巧玲瓏,和html等前端語言配合的可以說是天衣無縫,加之xampp,wampp等工具的出現,更是前端開發人員的福音,作為一名前端ER,如果不熟悉一門後端語言的話,那簡直都不好意思說自己要加薪,那麼我們對於php這門語言學習時,如果我們對js或者其他任何一門語言學的好的話,再去學習一門新的語言那是很好上手的,無非就是先從變數,常量,執行語句,迴圈條件判斷,數組,函數,物件導向,加上這門語言的一些進階函數,什麼date,畫圖,瀏覽器資訊儲存函數啦,逐個的去看去對比,真的很順手有沒有,那麼我們今天就來看一下我們前端經常用到的一些php+mysql操作,這需要我們有一定的mysql基礎了.

  當我們建好了一個表的時候,我們很自然的就會去想到,我們要怎麼去尋找資訊,增加資訊,修改資訊,刪除資訊,那麼這就是我們最基礎的操縱了,在操作這個資料表之前,我們需要先找到它 代碼1:

 1 //這裡我們使用mysql_connect來進行資料庫的連結,它一共有三個參數,分別是,資料庫地址,使用者名稱,使用者密碼,對於mysql的配置,我們可以使用shell命令列或者myphpAdmin進行介面配置 2 $con = mysql_connect(‘localhost‘,‘root‘,‘123‘); 3 if($con){ 4     echo "串連資料庫成功"; 5 } 6 else{ 7     echo mysql_error(); 8     echo "串連資料庫失敗"; 9 }10 //當我們串連到了整個資料庫後,我們需要去找到庫中我們的小倉庫,這裡使用函數mysql_select_db(‘倉庫名‘);11 if(mysql_select_db(‘mysql‘)){12     echo mysql_error();13 }14 15 //設定轉碼字元16 if(mysql_query(‘set names utf8‘)){17 18 }else{19     echo mysql_error();20 }

  需要說明的是,在php5之後,對於MySQL資料庫操作的函數開頭變為了mysqli,這兩者的區別也是有的,mysqli的功能更強大,增加了物件導向功能,但它也是向下相容的,在用法上二者有細微的差別,這裡我們的執行個體都是使用的mysql開頭的函數,當我們成功串連到資料庫後,我們先來進行插入資料 代碼2:

  

//首先我們先建立一個表單,指定提交方式為post,當提交時執行a.php檔案
<?php     //此處執行代碼1進行資料庫連接功能,串連到資料庫後    $username = $_POST[‘username‘];//從超級全域變數中取到表單提交過來的值    $password  = $_POST[‘password‘];
//這裡就是我們的資料插入語句,其中uers是代碼1中小倉庫mysql總的一個表,表名為users; $sql = "inset into users (username,password)values(‘$username‘,‘password‘)"; mysql_query($sql);//使用mysql_query()函數來執行sql語句來達到操作資料庫,它就像是一個終端,可以執行我們輸入的mysql動作陳述式, ?>

  對於代碼2,首先是建立一個提交表單,每一輸入框中設定它的name屬性,每一個name屬性就是超級全域變數數組$_POST中的key值,所以在php中我們可以獲得提交的值,在插入語句的書寫時,因為我們在php中的書寫方式是以字串的形式來書寫的,所以不會有編譯器的提示功能,就算寫錯 編譯器也不會立馬提醒你,所以在這塊一定要多注意,特別是雙引號,單引號嵌套的問題,當我們插入了一條語句後,那你說姓名數錯了,我想要改一些,那麼php當然可以改,那麼在修改的時候我們就要注意了,修改不像插入一樣,直接插入到了表尾,這是電腦就會問了,我要修改哪一個呢 代碼3:

 1 //還是原來的表單,和原來不一樣的配方, 2 //在資料庫中,我們給每一行記錄都加一個ID,這個欄位稱為主鍵,我們將它設定為自增的. 3 //我們在點擊修改按鈕時將id通過get方法傳送過來,這是就可以通過id獲得資料條了, 4 //獲得傳過來的id值 5 $id = $_GET[‘id‘]; 6 //執行mysql語句,返回選擇中的資源 7 $query = mysql_query("select * from article where id=$id"); 8 //通過mysql_fetch_assoc函數來將資料轉換為一個關聯陣列,還有幾個作用類似的函數,我們在代碼5中介紹, 9 $data = mysql_fetch_assoc($query);10 <form action=‘b.php‘ method=‘post‘>11     <input type = ‘text‘ name=‘username‘ value="<?php echo $data[‘username‘]?>"//將要修改的資訊輸出到修改框中12     <input type = ‘text‘ name=‘password‘ vlaue="<?php echo $data[‘password‘?>"13     <input type = ‘submit‘ value=‘提交修改‘ >14 </form>

  好了,上邊的代碼,只是我們修改資料的一個準備工作,我們在修改前,需要將要修改的資料輸出到修改介面中,這樣使用者可以直觀的看到他修改了資料,不能將修改資料搞的像輸入資訊一樣,那樣體驗性從何而來,代碼4:

//這裡就和我們插入資訊時情況差不多了,<?php//首先執行代碼1串連資料庫$id = $_POST[‘id‘];$username=$_POST[‘username‘];$password =$_POST[‘password‘];//擷取表單修改後的值//執行修改語句update$updatesql = "update article set username=‘$username‘,password=‘$password‘where id=$id";if(mysql_query($updatesql)){    echo "<script>alert(‘修改文章成功‘);</script>";//修改成功}else{    echo "<script>alert(‘修改文章失敗‘);</script>";}?>

  修改成功了我們的資訊後,我們就來看一下php中常用的那些用來擷取資料記錄的函數:比如mysql_fetch_array,mqsql_fetch_assoc,mysql_fetch_row等等;代碼5:

                             
   //$res是擷取到的資源    $row1= mysql_fetch_row($res);//返回了查詢到的資料的第一條    mysql_fetch_row每執行一次,都從資源也就是結果集中依次取一條資料,以數組形式返回出來,如果當前已經取到最後一條資料時,返回空結果   $row2 = mysql_fetch_assoc($res);作用是返回一個關聯陣列,數組的下標就是我們在資料表中的欄位名,這種方式我們可以隨意的對每個欄位進行操作.   $row3 = mysql_fetch_object($res);//返回一個對象.   $row4 = mysql_fetch_array($res);//mysql_fetch_array的第二個參數是一個關聯陣列: 也就是說返回的資料中有一個索引數組有一個關聯陣列,可以在其中傳入第二個參數指定輸出哪一個數組,MYSQL_ASSOC只輸出關聯陣列MYSQL_NUM:只輸出索引數組,輸出結果和mysql_fetch_row一樣,但是它預設是輸出兩個數組.

 

  看完了我們的插入和修改資訊,相信對於刪除資訊也是很簡單的了,道理都是一樣的,擷取到資料條的id,然後依據id去進行刪除:代碼6:

$id = $_GET[‘id‘];$deletesql = "delete from article where id=$id";if(mysql_query($deletesql)){    echo "<script>alert(‘刪除文章成功‘);</script>";}else{    echo "<script>alert(‘刪除文章失敗‘);</script>";}

  那麼我們在實際應用中最多的另外一種情況就是尋找資訊了,我們可以用在資料庫中資訊查重,也可以用在使用者登入資訊的判斷,資料庫中的資訊統計等:

//執行代碼1進行資料庫的串連//接收到表單提交過來的資訊,$username = $_POST[‘username‘];$password = $_POST[‘password‘];//在這裡,我們使用select語句去選擇資料表中和username和password都相等的資料條,如果有,就證明我們輸入的資訊正確,能夠登陸,否則,輸入的資訊不正確,$sql = "SELECT * FROM users WHERE username=‘$username‘ and password=‘$password‘";$res = mysqli_query($conn,$sql);$row = mysqli_num_rows($res);$self= mysqli_fetch_assoc($res);if($row){    echo "<script> alert(‘恭喜你,登入成功!‘);      </script>";    header(‘location:../main.php?id=‘.$self[‘id‘]);}else{    echo "<script> alert(‘使用者名稱或密碼輸入錯誤,請重新登入‘); window.location.href=‘../login.html‘;</script>";}

  當然,文中的代碼對於所擷取到的值都沒有進行是否為空白的判斷,和格式是否正確,這都是要加上去的,代碼的完善性還不高,到這裡,php對於mysql的基本操作算是介紹了個大概,一起加油!

 

php+mysql的基礎操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.