PHP使用mysqli連線MariaDB
阿新 • • 發佈:2018-11-30
簡單的記錄一下今天學到的 php使用mysqli連線Mysql資料庫
一、mysql與mysqli的區別(摘抄自:https://www.cnblogs.com/gengyi/p/6544407.html)
1.什麼是mysqli
PHP-MySQL 函式庫是 PHP 操作 MySQL 資料庫最原始的擴充套件庫,PHP-MySQLi 的 i 代表 Improvement ,相當於前者的增強版,也包含了相對進階的功能,另外本身也增加了安全性,比如可以大幅度減少 SQL 注入等問題的發生。
2. mysql與mysqli的概念相關
(1)mysql與mysqli都是php方面的函式集,與mysql資料庫關聯不大。
(2)在php5版本之前,一般是用php的mysql函式去驅動mysql資料庫的,比如mysql_query()的函式,屬於面向過程
(3)在php5版本以後,增加了mysqli的函式功能,某種意義上講,它是mysql系統函式的增強版,更穩定更高效更安全,與mysql_query()對應的有mysqli_query(),屬於面向物件,用物件的方式操作驅動mysql資料庫。
3. mysql與mysqli的主要區別
(1)首先兩個函式都是用來處理DB 的。
(2)mysqli 連線是永久連線,而mysql是非永久連線。什麼意思呢? mysql連線每當第二次使用的時候,都會重新開啟一個新的程序,而mysqli則只使用同一個程序,這樣可以很大程度的減輕伺服器端壓力
(3)mysqli封裝了諸如事務等一些高階操作,同時封裝了DB操作過程中的很多可用的方法。應用比較多的地方是 mysqli的事務。具體檢視 http://cn.php.net/mysqli
二、例項:
資料表結構:
1.DBcon.php:
<?php $cn=new mysqli("hostname","username","password","databasename",port);//獲取資料庫連線 if (!$cn)//判斷連線是否為空 { die("連線錯誤: " . mysqli_connect_error());//連線失敗 列印錯誤日誌 }$cn->query("SET NAMES utf8");//設定 字符集為utf8格式 $cn->select_db("qquser");//選擇要操作的資料表
2.query.php
<?php require ("DBcon.php"); // 相對路徑引用資料庫連線類 $sql="select * from qquser"; mysqli_query($cn,$sql); //傳入資料庫連線引數,sql字串。 $res=$cn->query($sql); //接收查詢產生的結果集 $row=mysqli_fetch_assoc($res); //將結果集賦值給陣列物件 echo $row["userid"]."".$row["username"]."".$row["userpassword"]; //輸出結果
3.帶有html語句的例子
<?php #連線資料庫 $conn = mysqli_connect("www.jnvc.club","root","[email protected]","qq",3306); #判斷是否連線成功 if(!$conn){ echo "失敗"; } //選擇資料庫 mysqli_select_db($conn,"qq"); //準備sql語句 $sql = "select * from qquser"; //傳送sql語句 $obj = mysqli_query($conn,$sql); echo "<center>"; echo "<table border = 1 cellspacing = '0' cellpadding = '10'>"; echo "<th>編號</th><th>姓名</th><th>密碼</th>"; while($row = mysqli_fetch_assoc($obj)){ echo "<tr>"; echo '<td>'.$row['userid'].'</td>'; echo '<td>'.$row['username'].'</td>'; echo '<td>'.$row['userpassword'].'</td>'; echo "</tr>"; } echo "</table>"; echo "<center>"; //關閉連線 mysqli_close($conn);
4.使用mysql方法連線mysql資料庫的網頁留言板
select.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=utf-8" /> <title>無標題文件</title> </head> <?php require("shujuku.php"); $result=mysql_query("select * from user",$conn); ?> <a href="addform.php">新增記錄</a> <table border="1" width="95%"> <tr bgcolor="#e0e0e0"> <th>ID</th> <th>標題</th> <th>內容</th> <th>留言者</th> <th>Email</th> <th>新增記錄</th> </tr> <?php while($row=mysql_fetch_assoc($result)){ ?> <tr> <td><?php echo $row["id"]?></td> <td><?php echo $row["title"]?></td> <td><?php echo $row["cotent"]?></td> <td><?php echo $row["author"]?></td> <td><?php echo $row["email"]?></td> <td><a href="delete.php?id=5" onclick="return confirm('確認要刪除嗎?')">刪除</a></td> </tr> <?php }?> </table> <body> </body> </html>
shujuku.php : <?php $conn=mysql_connect("118.24.10.164","root","[email protected]"); mysql_query("set names 'utf-8'"); mysql_select_db("php",$conn); ?>
insert.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=utf-8" /> <title>無標題文件</title> </head> <body> <?php date_default_timezone_set('PRC'); require("shujuku.php"); $title=$_POST['title']; $cotent=$_POST['content']; $author=$_POST['author']; $email=$_POST['telephone']; $IP=$_SERVER['REMOTE_ADDR']; $time=date('Y-m-d h:i:s'); if(isset($_POST['submit'])){ mysql_query("insert into user(title,cotent,author,email,ip,addtime,sex) values('$title','$cotent','$author','$email','$IP','$time','女')")or die("哦哦"); } ?> </body> </html>
addform.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=utf-8" /> <title>無標題文件</title> </head> <body> <h2 align="center" >請您填寫留言</h2> <form method="post" action="insert.php"> <table border="1" align="center" width="400" cellpadding="2"> <tr> <td width="125">留言標題:</td> <td width="275"> <input type="text" name="title"></td> </tr> <tr> <td width="125">留言者:</td> <td width="275"> <input type="text" name="author"></td> </tr> <tr> <td >聯絡方式:</td> <td> <input type="text" name="content"></td> </tr> <tr> <td width="125">留言內容:</td> <td width="275"> <textarea cols="30" rows="5" name="content"></textarea></td> </tr> <tr> <td> </td> <td width="275"> <input type="submit" name="submit" value="提交"></td> </tr> </table> </form> </body> </html>
delete.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=utf-8" /> <title>無標題文件</title> </head> <body> <?php require("shujuku.php"); $id=$_GET['id']; echo $id; mysql_query("delete from user where id=$id")or die("哦哦"); ?> </body> </html>
好了就這麼多了,,加油加油加油加油加油加油加油加油