日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php数据库录入和输出,PHP数据库之CURD操作

發(fā)布時間:2024/9/19 php 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php数据库录入和输出,PHP数据库之CURD操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

PHP作為一門服務(wù)端的腳本語言,既可以接受來自瀏覽器端的頁面請求,也可以將頁面的請求數(shù)據(jù)發(fā)送往數(shù)據(jù)庫中儲存起來,讓頁面不在靜態(tài),處于動態(tài)可以產(chǎn)生交互行為的狀態(tài),所以今天我們來認(rèn)識下有關(guān)于數(shù)據(jù)庫的一些東西。

數(shù)據(jù)庫的連接

首先

打開xampp apache服務(wù)器和 MYSQL database

image.png

打開localhost/phpmyadmin,創(chuàng)建一張數(shù)據(jù)表

image.png

根據(jù)關(guān)系數(shù)據(jù)庫第二范式,每個表需要設(shè)置一個主鍵,在這里一般需要將id設(shè)為主鍵,主鍵是一個表中的約束。這個約束,一張表只能有一個,一般作為ID使用,這個約束一般給別人外鍵引用。這個約束的功能就是,不可重復(fù),保證了唯一性,正是這種特性,使得大多數(shù)人都把他作為表中ID的字段使用。同時為了提高了SQL Server系統(tǒng)的性能,我們可以設(shè)置索引,加快數(shù)據(jù)的查詢速度與減少系統(tǒng)的響應(yīng)時間 ,在這里我們將id設(shè)為索引。

完成這些操作我們可以在編輯器上編寫我們的代碼連接服務(wù)器啦!!!

PHP連接數(shù)據(jù)庫的方法通過 $link=mysqli_connect("數(shù)據(jù)庫服務(wù)器地址","數(shù)據(jù)庫登錄用戶","數(shù)據(jù)庫登錄密碼","數(shù)據(jù)庫名稱")

在這里數(shù)據(jù)庫服務(wù)器地址默認(rèn)是localhost:端口號;數(shù)據(jù)庫登錄用戶默認(rèn)擁有服務(wù)器進(jìn)程的用戶的名稱,數(shù)據(jù)庫登錄密碼默認(rèn)值是”“。

$link = mysqli_connect(“l(fā)ocalhost”,"root","","mydb");

?>

寫好后我們還要判斷下我們是否連接上了我們的數(shù)據(jù)庫,不怕一萬,就怕萬一埋。

判斷數(shù)據(jù)庫的連接正常

if(mysqli_connect_errno($link)){

echo "錯誤號:".mysqli_connect_errno($link);

echo "
錯誤描述:".mysqli_connect_error($link);

echo "
錯誤描述:網(wǎng)站錯誤請聯(lián)系管理員";

exit;

}

在這里加入mysqli_connect_errno判斷語句,當(dāng)沒有連接上數(shù)據(jù)庫的時候,我們就輸出人性化提示報錯,然后就將程序結(jié)束。

我們介紹的CURD操作說白了,就是增 刪 改 查,create! update !read !delete!

增刪改查之”增“

確定我們的數(shù)據(jù)庫連接正常后,我們就開始我們增刪改查的第一步,增!!

一張空表啥都沒有,所以需要我們錄入數(shù)據(jù)將其補(bǔ)滿也方便之后的前后臺交互查詢調(diào)用。我們在這里需要使用以下語句

1.$sql= insert into 表名(表的字段1,表的字段2)values(字段1的值,字段2的值) ;

2.$sql= insert into 表名 表的字段一=‘字段一的值’,表的字段二=‘字段二的值’;

然后我們需要執(zhí)行查詢語句mysql_query() 僅對 SELECT,SHOW,EXPLAIN 或 DESCRIBE 語句返回一個資源標(biāo)識符,如果查詢執(zhí)行不正確則返回 FALSE。對于其它類型的 SQL 語句,mysql_query() 在執(zhí)行成功時返回 TRUE,出錯時返回 FALSE。

1.mysqli_query($link,$sql);

然后執(zhí)行關(guān)閉數(shù)據(jù)庫方法,關(guān)閉數(shù)據(jù)庫

mysqli_close($link);

我們來試著往數(shù)據(jù)庫里插入一個數(shù)據(jù)

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");//進(jìn)行編碼,防止中文出現(xiàn)亂碼

$sql = "insert into menu set name='叉燒包',price=20";

$result=mysqli_query($link,$sql);

mysqli_close($link);

image.png

增刪改查之”刪“

當(dāng)我們的數(shù)據(jù)錄入錯誤的時候我們當(dāng)然就要把它刪去,保持?jǐn)?shù)據(jù)的準(zhǔn)確性

這里我們需要使用下列語句,這里需要借助索引減少搜查范圍

delete from 表名 where

我們來嘗試下

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "delete from menu where id=13";

$result=mysqli_query($link,$sql);

mysqli_close($link);

?>

刪除前

刪除后

增刪改查之”改“

update 表名 set 字段1='值',字段2='值' where 條件

同樣我們來試試將叉燒包的價格改到288

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "update menu set price='288' where id=15";

$result=mysqli_query($link,$sql);

mysqli_close($link);

?>

image.png

增刪改查之”查“

這應(yīng)該是數(shù)據(jù)庫里面最麻煩的部分,查詢數(shù)據(jù),各種姿勢查詢。

select 字段1,字段2... from 表名 where 條件

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select name,price from menu where id=15";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));//按關(guān)聯(lián)數(shù)組輸出所有結(jié)果集

mysqli_close($link);

?>

查詢結(jié)果

image.png

帶查詢限制的查詢語句

select 字段 from 表名 where 條件 limit size

limit 1表示只查詢記錄中的一條

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select * from menu where price='288' limit 1";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));

mysqli_close($link);

?>

查詢結(jié)果

image.png

select 字段 from 表名 where 條件 limit start,size

limit start,size 從start位置查詢size條

image.png

排序

select 字段(*)from 表名 where 條件 order by 字段 desc|asc (降序、升序)

我們來看下效果

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select * from menu order by id DESC";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));

mysqli_close($link);

?>

我們可以看到表里的數(shù)據(jù)按id降序排序

image.png

分組統(tǒng)計查詢

select count(*) from 表名 可以獲得表里所有行數(shù)

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select count(*) from menu";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));

mysqli_close($link);

?>

我們來看下效果

image.png

select count(*) as num from 表名 將count結(jié)果作為一個字段名檢索

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select count(*) as num from menu";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));

mysqli_close($link);

?>

image.png

我們還可以通過分組 ground by 字段名 根據(jù)某個字段進(jìn)行分組查詢

group by + 多字段列表:

表示根據(jù)后面的字段來分組,如果只有1個字段,那只是根據(jù)這個字段的值來進(jìn)行一次分組就可以了;若后面有多個字段,那表示根據(jù)多字段的值來進(jìn)行層次分組,分組層次從左到右,即先按第1個字段分組,然后在第1個字段值相同的記錄中,再根據(jù)第2個字段的值進(jìn)行分組;接著第2個字段值相同的記錄中,再根據(jù)第3個字段的值進(jìn)行分組......依次類推。

這樣分組后,顯然每條記錄(field1,field2,...)的數(shù)據(jù)都是唯一 。

注意:

1.where條件在group by前面

2.select 后面的所有列中,沒有使用聚合函數(shù)的列,必須出現(xiàn)在 group by 后面!

$link = mysqli_connect("localhost","root","","mydb");

mysqli_set_charset($link,"utf8");

$sql = "select * from student where city='上海' group by city";

$result=mysqli_query($link,$sql);

print_r( mysqli_fetch_all($result,MYSQLI_ASSOC));

mysqli_close($link);

?>

我們可以看到根據(jù)城市我們將城市為上海的成功分為一組

image.png

數(shù)據(jù)庫博大精深,待我們慢慢道來,且聽下回分解

總結(jié)

以上是生活随笔為你收集整理的php数据库录入和输出,PHP数据库之CURD操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。