PHP連接并操作數(shù)據(jù)庫
一、環(huán)境準(zhǔn)備
(如果有環(huán)境請直接跳過,閱讀下面的操作)
在Linux中進(jìn)行PHP和數(shù)據(jù)庫的環(huán)境搭建(適用于CentOS-7.0版本或以上),以下操作全部是在root用戶中操作,普通用戶中記得命令前加入sudo
進(jìn)行提權(quán)后進(jìn)行操作。
1、安裝數(shù)據(jù)庫
yum install -y mariadb-server
systemctl restart mariadb
systemctl enable mariadb
2、配置數(shù)據(jù)庫
可以用這個手動設(shè)置密碼,防止空密碼登錄
MariaDB [(none)]> use mysql;
MariaDB [mysql]> UPDATE user SET password=password('newpassword') WHERE user='root';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> exit;
如果覺得上面的有點(diǎn)麻煩,就用下面的這個方法,下面的方法不行就用上面的這個
mysql_secure_insatallation
第一步,程序詢問你的數(shù)據(jù)庫root密碼,但是我們是初次配置,root密碼并不存在,這里直接安一下回車就行
Enter current password for root (enter for none): 【這里直接回車】
第二步,程序詢問是否需要設(shè)置root密碼
Set root password? [Y/n] y【這里輸入“y”】
New password: 【這里輸入“數(shù)據(jù)庫密碼”】
Re-enter new password: 【這里輸入“數(shù)據(jù)庫密碼”】
第三步,程序詢問是否刪除匿名用戶(這里不刪除的話會有安全問題)
Remove anonymous users? [Y/n] y【這里輸入“y”】
第四步,程序詢問是否禁用遠(yuǎn)程登陸root的權(quán)限
Disallow root login remotely? [Y/n] n【這里輸入“n”】
第五步,程序詢問是否移除“test”數(shù)據(jù)庫
Remove test database and access to it? [Y/n] y【這里輸入“y”】
最后,程序詢問是否立即reload數(shù)據(jù)庫并使配置生效
Reload privilege tables now? [Y/n] y【這里輸入“y”】
看到Thanks for using MariaDB!
即配置完畢,可正常使用。
3、安裝PHP及插件
yum install -y php php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
4、啟動php(httpd)服務(wù)
systemctl restart httpd
systemctl enable httpd
5、進(jìn)入網(wǎng)頁根目錄
cd /var/www/html/
二、數(shù)據(jù)庫的連接
連接數(shù)據(jù)庫(僅面向?qū)ο筮B接)
實(shí)現(xiàn)代碼:
<?php
$servername="localhost";
$username="username"; # 這里寫數(shù)據(jù)庫用戶
$password="password"; # 這里寫數(shù)據(jù)庫密碼
$conn=new mysqli($servername,$username,$password);
if($conn->connect_error){
die("連接失敗:".$conn->connect_error);
}
else{
echo "連接成功";
}
$conn->close();
運(yùn)行結(jié)果:
三、對數(shù)據(jù)庫的操作
創(chuàng)建數(shù)據(jù)庫
實(shí)現(xiàn)代碼:
<?php
$servername="localhost";
$username="username";
$password="password";
$conn=new mysqli($servername,$username,$password);
if($conn->connect_error){
die("連接失敗:".$conn->connect_error);
}
else{
echo "連接成功";
}
$sql="create database mydb"; # 這里寫創(chuàng)建數(shù)據(jù)庫的語句
if ($conn->query($sql)===TRUE){
echo "<br>數(shù)據(jù)庫創(chuàng)建成功";
}else{
echo "<br>創(chuàng)建失敗:".$conn->error;
}
運(yùn)行前檢查:
運(yùn)行結(jié)果:
運(yùn)行后驗(yàn)證:
創(chuàng)建表單
實(shí)現(xiàn)代碼:
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb"; # 自己創(chuàng)建的數(shù)據(jù)庫名
$conn=new mysqli($hostname,$username,$password,$database);
if($conn->connect_error)
{
die("數(shù)據(jù)庫連接失敗:".$conn->connect_error);
}
echo "數(shù)據(jù)庫連接成功";
$sql1="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($conn->query($sql1)===TRUE){
echo "<br>創(chuàng)建表成功!";
}else{
echo "<br>創(chuàng)建表錯誤:".$conn->error;
}
$conn->close();
運(yùn)行前檢查:
運(yùn)行結(jié)果:
運(yùn)行后檢驗(yàn):
插入數(shù)據(jù)
代碼實(shí)現(xiàn):
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("數(shù)據(jù)庫連接成功: " . mysqli_connect_error());
}else {
echo "數(shù)據(jù)庫連接成功!";
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('erhetest', 'grouptest', 'erhetest@group.com');";
if (mysqli_multi_query($conn, $sql)) {
echo "<br>新記錄插入成功";
} else {
echo "<br>新記錄插入失敗: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
運(yùn)行前檢查:
運(yùn)行結(jié)果:
運(yùn)行后檢驗(yàn):
一次性插入多條數(shù)據(jù)
代碼實(shí)現(xiàn):
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die("數(shù)據(jù)庫連接失敗: " . mysqli_connect_error());
}else {
echo "數(shù)據(jù)庫連接成功!";
}
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('erhe', 'group', 'erhe@group.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('erhe2', 'group2', 'erhe2@group2.com');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('welcome', 'to', 'welcome@erhe.group')";
if (mysqli_multi_query($conn, $sql)) {
echo "<br>新記錄插入成功";
} else {
echo "<br>新記錄插入失敗: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
運(yùn)行前檢查:
運(yùn)行結(jié)果:
運(yùn)行后檢驗(yàn):
讀取查詢數(shù)據(jù)
實(shí)現(xiàn)代碼:
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn=new mysqli($hostname,$username,$password,$database);
if($conn->connect_error)
{
die("數(shù)據(jù)庫連接失敗:".$conn->connect_error);
}
echo "數(shù)據(jù)庫連接成功";
$sql = "SELECT id, firstname, lastname,email FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 輸出數(shù)據(jù)
while($row = $result->fetch_assoc()) {
foreach($row as $keyname=>$keyvalue)
{
echo $keyname."=>".$keyvalue;
echo "<br>";
}
//echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 結(jié)果";
}
$conn->close();
運(yùn)行前檢查:
運(yùn)行結(jié)果:
修改數(shù)據(jù)
代碼實(shí)現(xiàn):
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn=new mysqli($hostname,$username,$password,$database);
if($conn->connect_error)
{
die("連接數(shù)據(jù)庫失敗:".$conn->connect_error);
}
echo "連接數(shù)據(jù)庫成功";
$sql="UPDATE MyGuests SET email='shuaishuai@163.com' WHERE id=1";
if ($conn->query($sql) === TRUE) {
echo "<br>修改成功";
} else {
echo "<br>修改成功:" . $sql . "<br>" . $conn->error;
}
$conn->close();
運(yùn)行前檢查:
運(yùn)行結(jié)果:
運(yùn)行后檢驗(yàn):
刪除數(shù)據(jù)
代碼實(shí)現(xiàn):
<?php
$hostname="localhost";
$username="username";
$password="password";
$database="mydb";
$conn=new mysqli($hostname,$username,$password,$database);
if($conn->connect_error)
{
die("連接數(shù)據(jù)庫失敗:".$conn->connect_error);
}
echo "連接數(shù)據(jù)庫成功";
$sql="DELETE FROM MyGuests WHERE id='1'";
if ($conn->query($sql) === TRUE) {
echo "<br>刪除成功";
} else {
echo "<br>刪除失敗:" . $sql . "<br>" . $conn->error;
}
$conn->close();
運(yùn)行前檢查:
運(yùn)行結(jié)果:
運(yùn)行后檢驗(yàn):
??特別聲明
原文地址: https://blog.kbai.cc/phpbysql/
此文章全部都是依靠自己的學(xué)習(xí)理解來寫的原創(chuàng)文章,難免可能會出現(xiàn)有錯誤的地方,
如果大家以后閱讀的時候發(fā)現(xiàn)有問題,那就麻煩到下方評論區(qū)來進(jìn)行錯誤指出,使錯誤盡快做出改正,
在此,感謝大家的閱讀與支持!??????
??支持一下
覺得我寫的好的話可以支持一下我哦~持續(xù)關(guān)注我,會更新其他好玩且實(shí)用的項(xiàng)目。文章來源:http://www.zghlxwxcb.cn/news/detail-752917.html
??如果我能幫助到你,那就請我喝杯??唄~??????
我的博客鏈接:blog.kbai.cc文章來源地址http://www.zghlxwxcb.cn/news/detail-752917.html
到了這里,關(guān)于PHP連接并操作數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!