PHP與MySQL的互動(mysqli)

2021-07-16 23:05:09 字數 3987 閱讀 8250

近期在學習php,這裡總結一下php與mysql的互動。

這裡我們使用mysqli進行連線。

mysqli擴充套件允許我們訪問mysql 4.1及以上版本提供的功能。

想深入了解mysqli的資訊可以訪問下面的**進行學習:

這裡我們根據幾個例子來簡單了解互動方式。

環境:

wampserver+sublime
例子:建立名為mydb的資料庫

<?php

/* 建立連線

其中第乙個引數是伺服器位址。

其中第二個引數是使用者名稱。

其中第三個引數是密碼。

這些引數需要自己查。

*/$con =new mysqli("localhost","root","123456");

//判斷連線是否成功

if (!$con)

//生成sql語句,建立資料庫mydb

$sql = " create database mydb ";

//呼叫mysqli的query方法

if ($con->query($sql) === true)else

//關閉連線

$con->close();

?>

例子:建立乙個名user的資料表

sql語句為:

create

table

user

(id int(6) unsigned auto_increment primary

key,

name varchar(20) not

null,

password varchar(20) not

null,

*** varchar(20) not

null,

dob date

notnull,

email varchar(50) not

null);

**:

<?php

// 建立連線,這裡多的引數是資料庫名稱。

$con = new mysqli("localhost","root","123456", "mydb");

// 檢測連線

if ($con->connect_error)

// 使用 sql 建立資料表

$sql = "create table user (

id int(6) unsigned auto_increment primary key,

name varchar(20) not null,

password varchar(20) not null,

*** varchar(20) not null,

dob date not null,

email varchar(50) not null

);";

//呼叫mysqli的query方法

if ($con->query($sql)) else

//關閉連線

$con->close();

?>

我們向資料表裡插入如下資料:

『測試』, 『12345678』,』man』,』2016-3-3』,』[email protected]

sql語句如下:

insert

into

user

(name,password,***,dob,email)

values

('測試', '12345678','man','2016-3-3','[email protected]');

**:

<?php

// 建立連線

$con = new mysqli("localhost","root","123456", "mydb");

// 檢測連線

if ($con->connect_error)

// 使用 sql 插入資料

$sql = "insert into user (name,password,***,dob,email)

values ('測試', '12345678','man','2016-3-3','[email protected]')";

if ($con->query($sql)) else

//關閉連線

$con->close();

?>

插入資料時為了提高效率和防止注入使用預處理方式。

使用如下語句:

insert

into

user

(name,password,***,dob,email)

values

(?, ?,?,?,?);

在需要輸入的資訊位置用?代替。

這裡要用到如下語句:

1)prepare()–>mysqli_stmt mysqli_prepare ( mysqli li

nk,s

trin

g query )預處理。

2)bind_param()–>將變數繫結到準備好的語句中。

3)execute() –>mysqli_stmt_execute() 執行預處理語句。

例子如下:

<?php

// 建立連線

$con

=new mysqli("localhost","root","123456", "mydb");

// 檢測連線

if ($con

->connect_error)

//sql語句

$sql

="insert into user (name,password,***,dob,email)

values (?, ?,?,?,?)";

// 預處理及繫結

$stmt

=$con

->prepare($sql);

/*bind_param()

設定每個'?'要裝入的值

第乙個引數是設定後幾個引數的格式。

s->string, i->integer, d->double

第二個引數開始是上邊需要裝入的值。

*/$stmt

->bind_param("sssss", $name, $password, $***,$dob ,$email);

// 設定引數並執行

$name

="john";

$password

="111111111111";

$***

="man";

$dob

="2015-2-2";

$email

="[email protected]";

// 執行預處理語句

$stmt

->execute();

echo "新記錄插入成功";

//關閉預處理

$stmt

->close();

//關閉連線

$con

->close();

?>

查詢資料庫中的名字。

<?php

// 建立連線

$con = new mysqli("localhost","root","123456", "mydb");

// 檢測連線

if ($con->connect_error)

//查詢語句

$sql = "select name from user";

$result = $con ->query($sql);

//輸出資料

if($result->num_rows>0)

}$con->close();

?>

mysql與php的連線 PHP 連線mysql

php 連線mysql mysqlhost localhost mysqluser root mysqlpass mysqldata mydata connect mysql connect mysqlhost,mysqluser,mysqlpass or die 錯誤 mysql error my...

PHP與MySQL互動使用詳解

php與mysql互動使用詳解 1 建立自動連線資料庫的 並生成一些必要的 我們仔細研究一下資料庫的連線函式,會發現是這樣的一行 link id mysql connect hostname,username,password 所以我們在include檔案connect.inc中新增以下 就可以了。...

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...