一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - PHP7原生MySQL數(shù)據(jù)庫操作實(shí)現(xiàn)代碼

PHP7原生MySQL數(shù)據(jù)庫操作實(shí)現(xiàn)代碼

2021-10-19 13:13凱賓斯基 PHP教程

php7已經(jīng)沒有mysql這個擴(kuò)展了,好多貼還是按照以前的方法講,讓我這個新手來回找了好多遍都沒找到mysql,php7用后面兩個鏈接數(shù)據(jù)庫,千萬不要傻傻去找也不要去來回拷貝什么dll之類的

php7中mysql的連接與使用與PHP5中大不相同

PHP5中mysql_connect()等函數(shù)大多被PHP7中類的成員函數(shù)所代替。PHP5中連接mysql是過程性的,而PHP7中強(qiáng)調(diào)了類的使用與面向?qū)ο蟮姆椒?/p>

?
1
2
3
4
$user = new mysqli();
 
//Connect to mysql
$user->connect("localhost", "root", "q721@Ms67", "Student");

mysql的連接被mysqli類所替代

?
1
2
3
4
//Search in mysql
$query = 'SELECT * FROM users';
//Use a variable to save result
$result = $user->query($query);

查詢語句也變成了類的成員函數(shù)

連接到 MySQL服務(wù)器

mysqli_connect(host, username, password [,dbname] [,port]);
- 參數(shù):
host:MySQL服務(wù)器??梢园丝谔枺J(rèn)值為“localhost:3306”
username:用戶名。默認(rèn)值是服務(wù)器進(jìn)程所有者的用戶名;
password:密碼。
dbname:數(shù)據(jù)庫名稱。
port:MySQL服務(wù)器的端口號,默認(rèn)為3306。
- 返回值:如果連接成功,則返回 mysqli 連接對象。如果失敗,則返回 false。

實(shí)例代碼一

?
1
2
3
4
5
6
7
8
9
<?php
 $mysqli = new mysqli("localhost", "root", "password", "testgame");
 if(!$mysqli) {
  echo"database error";
 }else{
  echo"php env successful";
 }
 $mysqli->close();
?>

localhost 意思是本地主機(jī),如果你是在自己電腦上的話,這項(xiàng)就不用改了
root是mysql的用戶名,如果你是默認(rèn)的沒有修改,也不用管,直接copy
password 這事mysql的密碼,如果你沒有試著的話,直接寫空的就行,""這樣哦

代碼二

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
/* Connect to a MySQL server 連接數(shù)據(jù)庫服務(wù)器 */
$link = mysqli_connect(
'localhost', /* The host to connect to 連接MySQL地址 */
'root', /* The user to connect as 連接MySQL用戶名 */
'root', /* The password to use 連接MySQL密碼 */
'lucax_database'); /* The default database to query 連接數(shù)據(jù)庫名稱*/
 
if (!$link) {
printf("Can't connect to MySQL Server. Errorcode: %s ", mysqli_connect_error());
exit;
}else
echo '數(shù)據(jù)庫連接上了!';
 
/* Close the connection 關(guān)閉連接*/
mysqli_close($link);
?>

代碼三

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$servername = "localhost";
$username = "root";
$password = "root";
 
$dbname = "myDB";
 
// 創(chuàng)建連接
 
# Tip: 如果你使用其他端口(默認(rèn)為3306),為數(shù)據(jù)庫參數(shù)添加空字符串,如: new mysqli("localhost", "username", "password", "", port)
$conn = new mysqli($servername, $username, $password,$dbname);
 
// 檢測連接
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
echo "連接成功";
 
$conn->close();
?>

選擇當(dāng)前數(shù)據(jù)庫

mysqli_select_db(mysqliLink, database)
- 描述:一個數(shù)據(jù)庫服務(wù)器可能包含很多的數(shù)據(jù)庫,通常需要針對某個具體的數(shù)據(jù)庫進(jìn)行編程
- 返回值:如果成功返回TRUE,失敗則返回FALSE

設(shè)置客戶端字符集

mysqli_set_charset(mysqliLink, charset)
- 描述:設(shè)置默認(rèn)字符編碼
- 返回:成功時返回 TRUE, 或者在失敗時返回 FALSE。

發(fā)送一條 MySQL 查詢

mysqli_query(mysqliLink , queryStr)
- 參數(shù):
query是查詢字符串;
link是創(chuàng)建的活動的數(shù)據(jù)庫連接;
- 說明:mysqli_query() 僅對 SELECT,SHOW 或 DESCRIBE 語句返回一個mysqli_result結(jié)果集對象,如果查詢執(zhí)行不正確則返回 FALSE。對于其它類型的 SQL 語句,mysqli_query()在執(zhí)行成功時返回 TRUE,出錯時返回 FALSE。非 FALSE 的返回值意味著查詢是合法的并能夠被服務(wù)器執(zhí)行。
- 注意:查詢字符串不應(yīng)以分號結(jié)束,和命令行模式下有區(qū)別。

從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有

mysqli_fetch_array ( mysqliResult [, resultType] )
- 參數(shù):resultType是一個常量,取值:MYSQLI_BOTH(兩者兼有,默認(rèn))、MYSQLI_ASSOC(關(guān)聯(lián)索引)、MYSQLI_NUM(數(shù)字索引)
- 返回:返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒有更多行則返回 FALSE。
- 注意:本函數(shù)返回的字段名區(qū)分大小寫。

從結(jié)果集中取得所有行作為關(guān)聯(lián)數(shù)組、枚舉數(shù)組、或二者兼有

mysqli_fetch_all(mysqliResult [, resultType ])
- 參數(shù):$result_type是一個常量,取值:MYSQLI_BOTH(兩者兼有,默認(rèn))、MYSQLI_ASSOC(關(guān)聯(lián)索引)、MYSQLI_NUM(數(shù)字索引)
- 返回:返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒有更多行則返回 FALSE。
- 注意:本函數(shù)返回的字段名區(qū)分大小寫。

取得結(jié)果集中行的數(shù)目

mysqli_num_rows(mysqliResult)
- 注意:此命令僅對 SELECT 語句有效。

從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組

array mysqli_fetch_assoc(mysqliResult)
- 返回值:從結(jié)果集取得的行生成的關(guān)聯(lián)數(shù)組,如果沒有更多行則返回 FALSE;
- 注意:此函數(shù)返回的字段名大小寫敏感。

取得前一次 MySQL 操作所影響的記錄行數(shù)

mysqli_affected_rows ( mysqliLink )
- 說明:取得最近一次與 $link 關(guān)聯(lián)的 SELECT、INSERT、UPDATE 或 DELETE 查詢所影響的記錄行數(shù)。
- 注意:如果最近一次查詢失敗,函數(shù)返回-1。當(dāng)使用UPDATE查詢,MySQL不會將原值和新值一樣的值更新,返回值不一定就是查詢條件所符合的記錄,只有修改過的記錄數(shù)才會被返回。

釋放與結(jié)果集相關(guān)聯(lián)的內(nèi)存

mysqli_free_result(mysqliResult)
- 參數(shù):mysqliResult為結(jié)果集對象。

返回上一個 MySQL 連接產(chǎn)生的文本錯誤信息

mysqli_connect_error()
- 參數(shù):沒有參數(shù)

php7創(chuàng)建數(shù)據(jù)庫:

方法一:

?
1
2
3
4
5
6
$sql = "CREATE DATABASE myDB3";
if (mysqli_query($conn, $sql)) {
echo "數(shù)據(jù)庫創(chuàng)建成功";
} else {
echo "Error creating database: " . mysqli_error($conn);
}

方法二:

?
1
2
3
4
5
6
7
8
9
10
11
12
// 檢測連接
if ($conn->connect_error) {
  die("連接失敗: " . $conn->connect_error);
}
echo "連接成功";
 
$sql = "CREATE DATABASE myDB2";
if ($conn->query($sql) === TRUE) {
  echo "數(shù)據(jù)庫創(chuàng)建成功";
} else {
  echo "Error creating database: " . $conn->error;
}

創(chuàng)建表的方法:

方法一:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 使用 sql 創(chuàng)建數(shù)據(jù)表
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
 
if (mysqli_query($conn, $sql)) {
echo "數(shù)據(jù)表 MyGuests 創(chuàng)建成功";
} else {
echo "創(chuàng)建數(shù)據(jù)表錯誤: " . mysqli_error($conn);
}

方法二:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 使用 sql 創(chuàng)建數(shù)據(jù)表
$sql = "CREATE TABLE MyGuests2 (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";
 
if ($conn->query($sql) === TRUE) {
echo "Table MyGuests created successfully";
} else {
echo "創(chuàng)建數(shù)據(jù)表錯誤: " . $conn->error;
}

插入數(shù)據(jù)的方法:

方法一:

?
1
2
3
4
5
6
7
8
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";
 
if (mysqli_query($conn, $sql)) {
echo "新記錄插入成功";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

方法二:

?
1
2
3
4
5
6
7
8
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";
 
if ($conn->query($sql) === TRUE) {
echo "新記錄插入成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

插入多條數(shù)據(jù)的方法:

方法一:

?
1
2
3
4
5
6
7
8
9
10
11
12
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Mary', 'Moe', '[email protected]');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Julie', 'Dooley', '[email protected]')";
 
if (mysqli_multi_query($conn, $sql)) {
echo "新記錄插入成功";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

方法二:

?
1
2
3
4
5
6
7
8
9
10
11
12
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('22', 'Doe', '[email protected]');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('22', 'Moe', '[email protected]');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('22', 'Dooley', '[email protected]')";
 
if ($conn->multi_query($sql) === TRUE) {
echo "新記錄插入成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

查詢數(shù)據(jù)庫的方法:

方法一:

?
1
2
3
4
5
6
7
8
9
10
11
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);
 
if (mysqli_num_rows($result) > 0) {
// 輸出數(shù)據(jù)
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 結(jié)果";
}

方法二:

?
1
2
3
4
5
6
7
8
9
10
11
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
 
if ($result->num_rows > 0) {
// 輸出數(shù)據(jù)
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 結(jié)果";
}

看到這里服務(wù)器之家小編再為大家分享一個整理好的類庫

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
<?php
/**
* 數(shù)據(jù)庫操作類
*/
!defined('ROOTNAME') && exit('FORBIDDEN');
class db_mysql{
    var $query_num = 0;
    var $link;
    
    function __construct($dbhost, $dbuser, $dbpw, $dbname) {
        $this->connect($dbhost, $dbuser, $dbpw, $dbname);
    }
 
    function connect($dbhost, $dbuser, $dbpw, $dbname) {
//  global $dbcharset;
  if(!$this->link = @mysqli_connect($dbhost, $dbuser, $dbpw, $dbname)) {
    $this->halt("Can not connect to MySQL server");
  }
  
        if($this->server_info() > '5.0'){
            mysqli_query($this->link, "SET sql_mode=''");
        }
        /*
        if($dbname) {
            if (!@mysqli_select_db($dbname, $this->link)){
                $this->halt('Cannot use database '.$dbname);
            }
        }*/
    }
 
    function select_db($dbname) {
        $this->dbname = $dbname;
        if (!@mysqli_select_db($dbname, $this->link)){
            $this->halt('Cannot use database '.$dbname);
        }
    }
 
    function server_info() {
        return mysqli_get_server_info($this->link);
    }
    
    function version() {
        return mysqli_get_server_info($this->link);
    }
    
    
    function insert($tableName, $column = array()) {
   $columnName = "";
   $columnValue = "";
   foreach ($column as $key => $value) {
    $columnName .= $key . ",";
    $columnValue .= "'" . $value . "',";
   }
   $columnName = substr($columnName, 0, strlen($columnName) - 1);
   $columnValue = substr($columnValue, 0, strlen($columnValue) - 1);
   $sql = "INSERT INTO $tableName($columnName) VALUES($columnValue)";
   $this->query($sql);
  }
     
    function update($tableName, $column = array(), $where = "") {
   $updateValue = "";
   foreach ($column as $key => $value) {
    $updateValue .= $key . "='" . $value . "',";
   }
   $updateValue = substr($updateValue, 0, strlen($updateValue) - 1);
   $sql = "UPDATE $tableName SET $updateValue";
   $sql .= $where ? " WHERE $where" : null;
   $this->query($sql);
  }
     function delete($tableName, $where = ""){
   $sql = "DELETE FROM $tableName";
   $sql .= $where ? " WHERE $where" : null;
   $this->query($sql);
  }
     function select($tableName, $columnName = "*", $where = "") {
   $sql = "SELECT " . $columnName . " FROM " . $tableName;
   $sql .= $where ? " WHERE " . $where : null;
   $this->query($sql);
  }
     function get_all($sql,$result_type = MYSQLI_ASSOC) {
  $query = $this->query($sql);
  $i = 0;
  $rt = array();
  while($row =& mysqli_fetch_array($query,$result_type)) {
   $rt[$i]=$row;
   $i++;
  }
  //$this->write_log("獲取全部記錄 ".$sql);
  return $rt;
 }
 
 
 function fetchRow($query){
  return mysqli_fetch_assoc($query);
 }
    
    function query($sql) {
  //$this->write_log("查詢 ".$sql);
        mysqli_query($this->link,"set names utf8");
  $query = mysqli_query($this->link,$sql);
  //if(!$query) $this->halt('Query Error: ' . $sql);
  return $query;
 }
    //獲取第一個字段值
 function getOne($sql, $limited = false){
  if ($limited == true){
   $sql = trim($sql . ' LIMIT 1');
  }
 
  $res = $this->query($sql);
  if ($res !== false){
   $row = mysqli_fetch_row($res);
 
   if ($row !== false){
    return $row[0];
   }else{
    return '';
   }
  }else{
   return false;
  }
 }
    
    
    function fetch_array($query, $result_type = MYSQLI_ASSOC) {
  return mysqli_fetch_array($query, $result_type);
 }
    
    //輸出記錄
    function fetch_first($sql) {
        $res=$this->query($sql);
        return $this->fetch_array($res,MYSQLI_ASSOC);
    }
    
    // 取得一條數(shù)據(jù)記錄
    function get_one($sql, $result_type = MYSQLI_ASSOC){
        $result = $this->query($sql);
        $record = $this->fetch_array($result, $result_type);
        return $record;
    }
 
 function getRow($sql, $limited = false){
  if ($limited == true){
   $sql = trim($sql . 'LIMIT 1');
  }
 
  $res = $this->query($sql);
  if ($res !== false){
   return mysqli_fetch_assoc($res);
  }else{
   return false;
  }
 }
 
 
 //取影響條數(shù)
    function affected_rows() {
        return mysqli_affected_rows($this->link);
    }
    //從結(jié)果集中取得一行作為枚舉數(shù)組
    function fetch_row($query) {
        return mysqli_fetch_row($query);
    }
    // 結(jié)果條數(shù)
    function num_rows($query) {
        return mysqli_num_rows($query);
    }
    // 取字段總數(shù)
    function num_fields($query) {
        return mysqli_num_fields($query);
    }
    // 返回查詢結(jié)果
    function result($query, $row) {
        $query = mysqli_result($query, $row);
        return $query;
    }
    //釋放結(jié)果集
    function free_result($query) {
        return mysqli_free_result($query);
    }
    //返回自增ID
    function insert_id() {
        return ($id = mysqli_insert_id($this->link)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"), 0);
    }
 
 
    function close() {
        return mysqli_close($this->link);
    }
 
 function error() {
  return (($this->link) ? mysqli_error($this->link) : '');
 }
 //返回錯誤信息
 function errno() {
  return intval(($this->link) ? mysqli_errno($this->link) : '');
 }
 
    function halt($msg = '') {
  global $charset;
        $msg = "<html>\n<head>\n";
        $msg .= "<meta content=\"text/html; charset=$charset\" http-equiv=\"Content-Type\">\n";
        $msg .= "<style type=\"text/css\">\n";
        $msg .= "body,p,pre {\n";
        $msg .= "font:12px Verdana;\n";
        $msg .= "}\n";
        $msg .= "</style>\n";
        $msg .= "</head>\n";
        $msg .= "<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#006699\" vlink=\"#5493B4\">\n";
        $msg .= "<b>error</b>: ".htmlspecialchars($this->error())."\n<br />";
        $msg .= "<b>error number</b>: ".$this->errno()."\n<br />";
        $msg .= "<b>Date</b>: ".date("Y-m-d @ H:i")."\n<br />";
        $msg .= "<b>Script File</b>: http://".$_SERVER['HTTP_HOST'].getenv("REQUEST_URI")."\n<br />";
 
        $msg .= "</body>\n</html>";
        echo $msg;
        exit;
    }
}
?>

 以上就是PHP7原生MySQL數(shù)據(jù)庫操作實(shí)現(xiàn)代碼的詳細(xì)內(nèi)容,更多關(guān)于php7 數(shù)據(jù)庫操作方法的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 麻豆天美精东果冻传媒在线 | 国产一级视频久久 | 久久精品亚洲国产AV涩情 | 厨房play黄瓜进去小说h | 日本大片免aaa费观看视频 | 亚洲欧洲色图 | 国产成人亚洲综合91精品555 | 国色天香视频完整版 | 午夜片无码区在线观看 | 9久久9久久精品 | 草留色区 | 欧美sex另类孕妇 | x8x8在线观看| 国产精品久久久久久网站 | 午夜综合网 | 国产精品四虎在线观看免费 | 猫咪免费人成网站在线观看入口 | 我的年轻漂亮继坶三级 | 免费看日韩 | 成年人视频在线播放 | 草莓视频深夜释放 | 亚洲一区二区三区福利在线 | 国产成人久久久精品一区二区三区 | 蝴蝶传媒3o45 | 久久精品国产只有精品 | 免费一看一级欧美 | 无码国产成人777爽死 | 四虎在线免费播放 | 日韩理论片| 俄罗斯一级在线播放 | 亚洲精品色婷婷在线影院麻豆 | 男人日女人p | 亚洲第6页| 亚洲视频在线免费观看 | 久久精品男人影院 | 加勒比京东热 | 韩日理论片 | 亚洲福利视频在线观看 | 国产美女下面流出白浆视频 | 天堂在线观看中文字幕 | 国产精品天天看天天爽 |