PHP7原生MySQL數據庫操作實現代碼_php技巧

來源:腳本之家  責任編輯:小易  

PHP訪問MySQL數據庫:因為連接復數據庫需要較長的時間和較大的資源開銷,所以如果在多個網頁中都要頻制繁地訪問數據庫,則可以建立與數據庫的持續連接。即調知用mysql_pconnect()代替mysql_connect();静襟E:1.連接服務器:mysql_connect();2.選擇數據庫:mysql_select_db();3.執行SQL語句:mysql_query();查詢:select顯示:show插入:道insert into更新:updatedelete4.關閉結果集:mysql_free_result($result);5.關閉數據庫:mysql_close($link);www.anxorj.tw防采集請勿采集本網。

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

最起碼給個成本啊

PHP5中mysql_connect()等函數大多被PHP7中類的成員函數所代替。PHP5中連接mysql是過程性的,而PHP7中強調了類的使用與面向對象的方法

使用程序無法實現這種功能,因為無法保證事務的一致性,比如:A數據庫中的a表復制到B數據庫中的a表的過程中,A數據庫中的a表的一條記錄被刪除,這樣就無法實現數據的一致性!正確的做法是使用

$user = new mysqli();//Connect to mysql$user->connect("localhost", "root", "[email protected]", "Student");

public$dbname=\"數據庫名稱;public$username=\"數據庫用戶名;public$password=\"數據庫密碼;public$host=\"localhost;連接數據庫 public function_construct(){ this->conn=mysql_connect($this->host,$this-

mysql的連接被mysqli類所替代

mysqli函數用法大致和mysql函數差不多,主要是有一點差別,很多mysqli函數需要2個參數,這個和mysql函數是一致的,不同的是,mysql函數可以省略連接參數,默認使用上一個連接,而mysqli函數必須

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

真正的免費云時代來臨,免費1T全能空間 提供1T免費全能空間申請,超大免費空間,注冊即可開通,免費空間完全支持ASP、PHP、ACCESS、MYSQL、FTP、頂級域名綁定、手機建站、論壇、FLASH 流量不

查詢語句也變成了類的成員函數

連接到 MySQL服務器

mysqli_connect(host, username, password [,dbname] [,port]);

- 參數:

host:MySQL服務器?梢园丝谔,默認值為“localhost:3306”

username:用戶名。默認值是服務器進程所有者的用戶名;

password:密碼。

dbname:數據庫名稱。

port:MySQL服務器的端口號,默認為3306。

- 返回值:如果連接成功,則返回 mysqli 連接對象。如果失敗,則返回 false。

實例代碼一

<?php $mysqli = new mysqli("localhost", "root", "password", "testgame"); if(!$mysqli) { echo"database error"; }else{ echo"php env successful"; } $mysqli->close();?>

localhost 意思是本地主機,如果你是在自己電腦上的話,這項就不用改了

root是mysql的用戶名,如果你是默認的沒有修改,也不用管,直接copy

password 這事mysql的密碼,如果你沒有試著的話,直接寫空的就行,""這樣哦

代碼二

<?php/* Connect to a MySQL server 連接數據庫服務器 */$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 連接數據庫名稱*/if (!$link) {printf("Can't connect to MySQL Server. Errorcode: %s ", mysqli_connect_error());exit;}elseecho '數據庫連接上了!';/* Close the connection 關閉連接*/mysqli_close($link);?>

代碼三

<?php$servername = "localhost";$username = "root";$password = "root";$dbname = "myDB";// 創建連接# Tip: 如果你使用其他端口(默認為3306),為數據庫參數添加空字符串,如: new mysqli("localhost", "username", "password", "", port)$conn = new mysqli($servername, $username, $password,$dbname);// 檢測連接if ($conn->connect_error) {die("連接失敗: " . $conn->connect_error);}echo "連接成功";$conn->close();?>

選擇當前數據庫

mysqli_select_db(mysqliLink, database)

- 描述:一個數據庫服務器可能包含很多的數據庫,通常需要針對某個具體的數據庫進行編程

- 返回值:如果成功返回TRUE,失敗則返回FALSE

設置客戶端字符集

mysqli_set_charset(mysqliLink, charset)

- 描述:設置默認字符編碼

- 返回:成功時返回 TRUE, 或者在失敗時返回 FALSE。

發送一條 MySQL 查詢

mysqli_query(mysqliLink , queryStr)

- 參數:

query是查詢字符串;

link是創建的活動的數據庫連接;

- 說明:mysqli_query() 僅對 SELECT,SHOW 或 DESCRIBE 語句返回一個mysqli_result結果集對象,如果查詢執行不正確則返回 FALSE。對于其它類型的 SQL 語句,mysqli_query()在執行成功時返回 TRUE,出錯時返回 FALSE。非 FALSE 的返回值意味著查詢是合法的并能夠被服務器執行。

- 注意:查詢字符串不應以分號結束,和命令行模式下有區別。

從結果集中取得一行作為關聯數組,或數字數組,或二者兼有

mysqli_fetch_array ( mysqliResult [, resultType] )

- 參數:resultType是一個常量,取值:MYSQLI_BOTH(兩者兼有,默認)、MYSQLI_ASSOC(關聯索引)、MYSQLI_NUM(數字索引)

- 返回:返回根據從結果集取得的行生成的數組,如果沒有更多行則返回 FALSE。

- 注意:本函數返回的字段名區分大小寫。

從結果集中取得所有行作為關聯數組、枚舉數組、或二者兼有

mysqli_fetch_all(mysqliResult [, resultType ])

- 參數:$result_type是一個常量,取值:MYSQLI_BOTH(兩者兼有,默認)、MYSQLI_ASSOC(關聯索引)、MYSQLI_NUM(數字索引)

- 返回:返回根據從結果集取得的行生成的數組,如果沒有更多行則返回 FALSE。

- 注意:本函數返回的字段名區分大小寫。

取得結果集中行的數目

mysqli_num_rows(mysqliResult)

- 注意:此命令僅對 SELECT 語句有效。

從結果集中取得一行作為關聯數組

array mysqli_fetch_assoc(mysqliResult)

- 返回值:從結果集取得的行生成的關聯數組,如果沒有更多行則返回 FALSE;

- 注意:此函數返回的字段名大小寫敏感。

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

mysqli_affected_rows ( mysqliLink )

- 說明:取得最近一次與 $link 關聯的 SELECT、INSERT、UPDATE 或 DELETE 查詢所影響的記錄行數。

- 注意:如果最近一次查詢失敗,函數返回-1。當使用UPDATE查詢,MySQL不會將原值和新值一樣的值更新,返回值不一定就是查詢條件所符合的記錄,只有修改過的記錄數才會被返回。

釋放與結果集相關聯的內存

mysqli_free_result(mysqliResult)

- 參數:mysqliResult為結果集對象。

返回上一個 MySQL 連接產生的文本錯誤信息

mysqli_connect_error()

- 參數:沒有參數

php7創建數據庫:

方法一:

$sql = "CREATE DATABASE myDB3";if (mysqli_query($conn, $sql)) {echo "數據庫創建成功";} else {echo "Error creating database: " . mysqli_error($conn);}

方法二:

// 檢測連接if ($conn->connect_error) {  die("連接失敗: " . $conn->connect_error);}echo "連接成功";$sql = "CREATE DATABASE myDB2";if ($conn->query($sql) === TRUE) {  echo "數據庫創建成功";} else {  echo "Error creating database: " . $conn->error;}

創建表的方法:

方法一:

// 使用 sql 創建數據表$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 "數據表 MyGuests 創建成功";} else {echo "創建數據表錯誤: " . mysqli_error($conn);}

方法二:

// 使用 sql 創建數據表$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 "創建數據表錯誤: " . $conn->error;}

插入數據的方法:

方法一:

$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);}

方法二:

$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;}

插入多條數據的方法:

方法一:

$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);}

方法二:

$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;}

查詢數據庫的方法:

方法一:

$sql = "SELECT id, firstname, lastname FROM MyGuests";$result = mysqli_query($conn, $sql);if (mysqli_num_rows($result) > 0) {// 輸出數據while($row = mysqli_fetch_assoc($result)) {echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";}} else {echo "0 結果";}

方法二:

$sql = "SELECT id, firstname, lastname FROM MyGuests";$result = $conn->query($sql);if ($result->num_rows > 0) {// 輸出數據while($row = $result->fetch_assoc()) {echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";}} else {echo "0 結果";}

看到這里真格學網小編再為大家分享一個整理好的類庫

<?php/** * 數據庫操作類*/!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 ([email protected]_select_db($dbname, $this->link)){$this->halt('Cannot use database '.$dbname);}}*/}function select_db($dbname) {$this->dbname = $dbname;if ([email protected]_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);}// 取得一條數據記錄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; } } //取影響條數 function affected_rows() {return mysqli_affected_rows($this->link);}//從結果集中取得一行作為枚舉數組 function fetch_row($query) {return mysqli_fetch_row($query);}// 結果條數function num_rows($query) {return mysqli_num_rows($query);}// 取字段總數 function num_fields($query) {return mysqli_num_fields($query);}// 返回查詢結果function result($query, $row) {$query = mysqli_result($query, $row);return $query;}//釋放結果集 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數據庫操作實現代碼的詳細內容,更多關于php7 數據庫操作方法的資料請關注真格學網其它相關文章!

弄了一上午,用的是原生php和highcharts,壓縮包里有sql文件,望采納內容來自www.anxorj.tw請勿采集。


  • 本文相關:
  • php微信支付結果通知與回調策略分析
  • php實現可精確驗證身份證號碼的工具類示例
  • php實現文件分片上傳的實例代碼
  • php學習筆記 用戶注冊模塊用戶類以及驗證碼類
  • php中snoopy類用法實例
  • php模擬服務器實現autoindex效果的方法
  • php實現讀取和寫入tab分割的文件
  • php中array_column函數簡單實現方法
  • 深入php獲取隨機數字和字母的方法詳解
  • php獲取圖片信息的方法詳解
  • php讀取mysql數據庫繪制出近7天的折線圖
  • PHP訪問MySQL數據庫的步驟。
  • 關于php連接mysql數據庫mysql
  • 誰能推薦一個免費PHP空間加mysql數據庫,要速度快的
  • 誰有支持PHP空間跟MYSQL數據庫 免費的 給一個把謝謝做個論壇
  • 怎樣用php實現兩個mysql數據庫的同步
  • php封裝一個class類,實現mysql數據庫的增刪改查怎么操做?
  • php數據庫已經連接成功但是用mysql
  • 求一個免費的PHP空間,要求有Mysql數據庫就行。誰給的好用,分就給誰。。!
  • 高手們,能不能告訴我PHP論壇有哪些數據是放在mysql數據庫的??
  • 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全php基礎php技巧php實例php文摘php模板首頁php編程php微信支付結果通知與回調策略分析php實現可精確驗證身份證號碼的工具類示例php實現文件分片上傳的實例代碼php學習筆記 用戶注冊模塊用戶類以及驗證碼類php中snoopy類用法實例php實現讀取和寫入tab分割的文件php中array_column函數簡單實現方法深入php獲取隨機數字和字母的方法詳解php獲取圖片信息的方法詳解php中json_decode()和json_encodphp 數組和字符串互相轉換實現方php中使用curl實現get和post請求php中iconv函數使用方法php日期轉時間戳,指定日期轉換成php 頁面跳轉到另一個頁面的多種php中文處理 中文字符串截取(mb_php下intval()和(int)轉換使用與利用phpexcel實現excel數據的導入phpmyadmin 配置文件詳解(配置)php以fastcgi的方式運行時文件系統權限問wordpress中編寫自定義存儲字段的相關phpphp array_flip() 刪除重復數組元素專用函php使用soap擴展實現webservice的方法php偽靜態rewrite設置之apache篇php源代碼數組統計count分析一致性哈希算法以及其php實現詳細解析header與緩沖區之間的深層次分析php實現適用于文件內容操作的分頁類php mysql實現登陸和模糊查詢兩大功能
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.anxorj.tw All Rights Reserved
    陕西快乐10分下载