測試php連線mysql的例項實現
1.在linux上搭建好lnmp架構後,先測試一下php是否可以連線上mysql.
測試程式碼:test.php
<?php
$link=mysql_connect("172.25.90.14","root","redhat");
if(!$link) echo "FAILD!連線錯誤,使用者名稱密碼不對";
else echo "OK!可以連線";
?>
2.接下來利用php就可以對mysql進行增刪改查了
a. config.php 首先可建立一個儲存常量的config.php
<?php
define('MYSQL_HOST','172.25.90.14');
define('MYSQL_USER','root');
define('MYSQL_PW','redhat');
b. functions.php 再建立一個儲存函式的檔案functions.php:
<?php
require_once 'config.php';
function connnetDb(){
//連線mysql資料庫
$conn=mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PW);
//排除連線資料庫異常錯誤
if(!$conn){
die('can not connect db');
}
//在mysql中選中myapp資料庫
mysql_select_db("wzw");
return $conn;
}
c. allusers.php 查詢資料庫
<?php
require_once 'functions.php';
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>所有使用者</title>
<style>
table{
border-collapse: collapse;
}
th,td{
border:1px solid #ccccff;
padding: 5px;
}
td{
text-align: center;
}
</style>
</head>
<body>
<a href="adduser.html">新增使用者</a>
<table>
<tr><th>id</th><th>名字</th><th>年齡</th><th>修改/刪除</th></tr>
<?php
//連線資料庫
connnetDb();
//查詢資料表中的所有資料,並按照id降序排列
$result=mysql_query("SELECT * FROM users ORDER BY id DESC");
//獲取資料表的資料條數
$dataCount=mysql_num_rows($result);
//echo $dataCount;
//列印輸出所有資料
for($i=0;$i<$dataCount;$i++){
$result_arr=mysql_fetch_assoc($result);
$id=$result_arr['id'];
$name=$result_arr['name'];
$age=$result_arr['age'];
//print_r($result_arr);
echo "<tr><td>$id</td><td>$name</td><td>$age</td><td><a href='edituser.php?id=$id'>修改</a> <a href='deleteuser.php?id=$id'>刪除</a></td></tr>";
}
?>
</table>
</body>
</html>
d. adduser.html 新建adduser.html頁面,提供使用者輸入表單
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>新增使用者</title>
</head>
<body>
<form action="adduser.php" method="post">
<label>使用者ID:</label><input type="text" name="id">
<label>使用者名稱:</label><input type="text" name="name">
<label>年齡:</label><input type="text" name="age">
<input type="submit" value="提交">
</form>
</body>
</html>
e. adduser.php 建立處理使用者表單資料的服務端檔案adduser.php,並將新增的資料返回到列表頁面
<?php
require_once 'functions.php';
//首先進行非空排錯
if(!isset($_POST['id'])){
die('id is not define');
}
if(!isset($_POST['name'])){
die('name is not define');
}
if(!isset($_POST['age'])){
die('age is not define');
}
$id=$_POST['id'];
$name=$_POST['name'];
$age=$_POST['age'];
if(empty($id)){
die('id is empty');
}
if(empty($name)){
die('name is empty');
}
if(empty($age)){
die('age is empty');
}
//連線資料庫
connnetDb();
//執行型別轉換,防止SQL注入
$age=intval($age);
//插入資料
mysql_query("INSERT INTO users(id,name,age) VALUES ('$id','$name','$age')");
//返回列表頁面
if(mysql_error()){
echo mysql_error();
}else{
header("Location:allusers.php");
}
f. edituser.php 建立edituser.php,獲取需要修改的資料並呈現成表單,供使用者修改資料
<?php
require_once 'functions.php';?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改使用者資料</title>
</head>
<body>
<?php
if(!empty($_GET['id'])){
//連線mysql資料庫
connnetDb();
//查詢id
$id=intval($_GET['id']);
$result=mysql_query("SELECT * FROM users WHERE id=$id");
if(mysql_error()){
die('can not connect db');
}
//獲取結果陣列
$result_arr=mysql_fetch_assoc($result);
}else{
die('id not define');
}
?>
<form action="edituser_server.php" method="post">
<label>使用者ID:</label><input type="text" name="id" value="<?php echo $result_arr['id']?>">
<label>使用者名稱:</label><input type="text" name="name" value="<?php echo $result_arr['name']?>">
<label>使用者年齡:</label><input type="text" name="age" value="<?php echo $result_arr['age']?>">
<input type="submit" value="提交修改">
</form>
</body>
</html>
g. edituser_server.php 提交給服務端edituser_server.php處理:
<?php
require_once 'functions.php';
if(empty($_POST['id'])){
die('id is empty');
}
if(empty($_POST['name'])){
die('name is empty');
}
if(empty($_POST['age'])){
die('age is empty');
}
$id=intval($_POST['id']);
$name=$_POST['name'];
$age=intval($_POST['age']);
//連線資料庫
connnetDb();
//修改指定資料
mysql_query("UPDATE users SET name='$name',age=$age WHERE id=$id");
//排錯並返回
if(mysql_error()){
echo mysql_error();
}else{
header("Location:allusers.php");
}
h. deleteuser.php 執行刪除操作後返回主頁面
<?php
require_once 'functions.php';
//排空錯誤
if(empty($_GET['id'])){
die('id is empty');
}
//連線資料庫
connnetDb();
$id=intval($_GET['id']);
//刪除指定資料
mysql_query("DELETE FROM users WHERE id=$id");
//排錯並返回頁面
if(mysql_error()){
echo mysql_error();
}else{
header("Location:allusers.php");
}