php的MySQL操作(二) mysqli擴充套件

2021-09-11 15:13:22 字數 3189 閱讀 4742

開啟 php 配置檔案 php.ini,開啟 extension=php_mysqli.dll

配置 extension_dir="ext檔案所在目錄"(ext 即 extension 縮寫,例:xampp預設路徑 extension_dir="c:\xampp\php\ext")

重啟伺服器

執行 phpinfo(); 如圖即配置成功

另一種驗證方式 extension_loaded('mysqli') 返回 true 即載入成功; function_exists('mysqli_connect') 返回 true 也是載入成功; get_loaded_extension() 返回是已經安裝好的php擴充套件的陣列

以下學習以物件導向為主,面向過程次之

建立到mysql連線

開啟指定的資料庫

設定預設客戶端的字符集

執行sql查詢

釋放結果集

關閉連線

$mysqli = new mysqli('localhost', 'root', 'password'); // 得到mysqli物件

$mysqli->select_db('db_name');

複製**

另一種連線方法

$mysqli = new mysqli();

$mysqli->connect('127.0.0.1', 'root', 'password'); // 同樣可以得到mysqli物件

$mysqli->select_db('db_name');

複製**

也可以建立連線的同時直接開啟資料庫

$mysqli = new mysqli('localhost', 'root', 'password', 'db_name'); // 第四個引數為資料庫名字

複製**

連線失敗時

if(mysqli->connect_errno)

複製**

獲取客戶端資訊如下

$mysqli->client_info; // 上面是屬性 下面是方法 都可以獲得客戶端資訊

$mysqli->get_client_info(); // 同理 server_info 是服務端資訊

複製**

設定字符集

$mysqli->set_charset('utf8');

複製**

關閉連線

$mysqli->close();

複製**

$sql = 'create table if not exists table_name(

id tinyint unsigned auto_increment key,

username varchar(20) not null

);';

$res = $mysqli->query($sql); // 成功返回true

複製**

執行 select/desc/describe/show/explain 時 成功返回 mysqli_result 物件 失敗返回false 其他語句成功返回true 失敗返回false

// 插入操作

$sql = "insert table_name(username, password) values('wangjiaqun', '123')"; // 插入單條

$sql = "insert table_name(username, password) values('wangjiaqun', '123'), ('lishipeng', '123'), ('huliyuan', '123'), ('hejinhu', '123')"; // 插入多條

$res = $mysqli->query($sql);

if($res) else

複製**

// 更新操作

$sql = "update table_name set age=age+10";

$res = $mysqli->query($sql);

複製**

// 刪除操作

$sql = "delete from table_name where age >= 6";

$res = $mysqli->query($sql);

複製**

// 查詢操作

$sql = "select id, username, password from table_name";

$mysqli_result = $mysqli->query($sql); // 返回結果集物件,不是查詢得到的資料

if($mysqli_result && $mysqli_result->num_rows > 0) else

複製**

// 釋放結果集

$mysqli_result->free();

$mysqli_result->free_result;

$mysqli_result->close; // 它和關閉連線不一樣 關閉連線時$mysqli方法 這個是$mysqli_result的屬性

複製**

$sql = "insert table_name(username, password) values('wangjiaqun', '123')";

$sql .= "update table_name set age = 100 where id = 28";

$mysqli->multi_query($sql); // 只有sql語句成功時才會往下執行 **失敗**停止

// 上面是增刪改相關 如果都是查詢 如下

// use_result() / store_result() 獲取第一條產生的結果集

// more_results() 檢測是否有更多的結果集

// next_result() 將結果集指標向下移一位

if($mysqli->query($sql)

} while($mysqli->more_results() && $mysqli->next_result())

} else

複製**

php操作mysql常用 PHP常用MySql操作

php常用mysql操作 show databases 然後可以use database name show tables 更改表名 alter table table name rename new t 新增列 alter table table name add column c n colum...

php連線mysql總結 php操作mysql小結

連線資料庫 設定文件顯示編碼 header content type text html charset utf 8 if con mysql connect localhost root 1234 elseelseelse echo 插入失敗,原因 mysql error 查詢 4fetch函式m...

php連線mysql題目 PHP操作MYSql問題

host 127.0.0.1 root root pass dbna test conn mysqli connect host,root,pass,dbna name null password null name en null department null position null sql...