php與mysql資料庫通訊三步曲

來源:互聯網
上載者:User

主要包括:

1、php建立資料庫與表;

2、php往資料庫插入內容;

3、php從資料庫裡面讀取內容到前台顯示出來;

首先是建立資料庫和表:

<?php$servername = "localhost";//資料庫主機$username = "root";//資料庫使用者名稱$password = "root";//資料庫密碼$dbname = "lyt";//將要建立的資料庫名// 建立串連$conn = new mysqli($servername, $username, $password);// 檢測串連if ($conn->connect_error) {die("串連出錯: " . $conn->connect_error);}// 開始建立資料庫$sql = "CREATE DATABASE lyt default character set utf8 collate utf8_general_ci";//紅色為設定資料庫編碼格式,網上很多教程都漏了這一步,導致各種亂碼現象if ($conn->query($sql) === TRUE) {echo "資料庫建立成功<br/>";} else {echo "資料庫建立失敗: " .$conn->error;}try {$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);// 建立表和欄位$sql = "CREATE TABLE MyGuests(//紅色為表名,下面的紅色部分為表裡面的欄位,同樣也要設定編碼,VARCHAR是欄位儲存資料的類型id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,product VARCHAR(30) CHARACTER SET utf8 COLLATE utf8_general_ci,guestname VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci,phone VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci,address VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci,message VARCHAR(550) CHARACTER SET utf8 COLLATE utf8_general_ci,reg_date TIMESTAMP)default character set utf8";$conn->exec($sql);echo "資料表建立成功";}catch(PDOException $e){echo $sql . "<br>" . $e->getMessage();}?>

把這段代碼塞到php檔案裡面,通過訪問這個php頁面就可以建立一個lyt的資料庫,資料庫裡面有MyGuests表,表裡面有id,product,guestname,phone,address,message,reg_date欄位,但是裡面還是空空如也,我們要往裡面插入資料,比如說把客戶填寫的一個表單資料提交到資料庫,就要用以下php代碼了:

<?php$servername = "localhost";//資料庫主機$username = "root";//資料庫使用者名稱$password = "root";//資料庫密碼$dbname = "lyt";//將要建立的資料庫名// 建立串連$conn = mysqli_connect($servername, $username, $password, $dbname);if (!$conn) {die("資料庫連接失敗: " . mysqli_connect_error());}mysqli_query($conn,"SET NAMES UTF8");//紅色為設定資料庫編碼格式,網上很多教程都漏了這一步,導致各種亂碼以及錯誤現象$sql = "INSERT INTO MyGuests (product, guestname, phone, address, message)VALUES ('".$_POST['pro']."','".$_POST['gname']."', '".$_POST['phone']."', '".$_POST['addr']."', '".$_POST['mess']."')";//藍色部分分別為表單input的name值,注意表單類型必須為post。if (mysqli_query($conn, $sql)) {echo "提交成功";} else {echo "錯誤: " . $sql . "<br>" . mysqli_error($conn);}?>

把這段代碼扔到一個form.php檔案裡面,作為表單的處理檔案,表單上通過引入這個檔案,如:

<form name="form" method="post" action="form.php">

這樣提交表單的時候就會把表單裡面填寫的資料插入到資料庫。除了表單你也可以手動指定插入一些資料,上面的那部分代碼寫成死的就行了,如:

VALUES ('哈哈','你好', '我很好', '你呢?', '我不好!')";通過這一步,資料庫總算有內容了。可是光有內容不行啊,我該怎麼看到這些資料呢?我總不會去資料庫裡面看吧,還是要把資料庫內容在前端表現出來才方便些,那麼就要php從資料庫裡面讀取資料了,代碼如下:

$conn = mysql_connect("localhost","root","root");//串連資料庫,請填寫你自己的使用者名稱密碼mysql_select_db("lyt");//選擇MYSQL資料庫mysql_query("set names utf8");//設定為utf8編碼$result = mysql_query("select * from myguests",$conn); //執行SQL查詢指令,myguests為表名echo "<table border=1 style='margin:0 auto;'><tr>";while($field = mysql_fetch_field($result)){//使用while輸出表頭echo "<td> ".$field->name." </td>";}echo"</tr>";while($rows = mysql_fetch_row($result)){//使用while遍曆所有記錄,並顯示在表格的tr中echo "<tr>";for($i = 0; $i < count($rows); $i++)echo "<td> ".$rows[$i]."</td>";}echo "</tr></table>";

把這段代碼扔到另一個php檔案裡面,通過訪問這個php檔案可以把指定的資料庫,資料庫表裡面的內容以表格形式呈現出來。

其實這三段代碼都用到了同一小塊代碼:

$servername = "localhost";//資料庫主機$username = "root";//資料庫使用者名稱$password = "root";//資料庫密碼$dbname = "lyt";//將要建立的資料庫名

可以把這小段代碼另存新檔另一php檔案,通過include 'data.php';引入,這樣方便修改。

聯繫我們

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