1. 程式人生 > >PHP使用mysqli連線MariaDB

PHP使用mysqli連線MariaDB

簡單的記錄一下今天學到的 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>&nbsp;</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>                     

好了就這麼多了,,加油加油加油加油加油加油加油加油