php 关于数据库的基本操作
关于数据库的配置就不说了直接上代码。
ex02a.php
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <form action="ex01a_sql.php" method="post" id="form1" name="form1"> <table border="1" align="center"> <tr> <td colspan="2"><p align="center" style="font-size: 20px;background: darkgray;" >添加个人资料</p></td> </tr> <tr> <td> <p align="right">姓名:</p> </td> <td> <input name="name" type="text"/> </td> </tr> <tr> <td> <p align="right">性别:</p> </td> <td> <input type="radio" name="sex" value="男"/>男 <input type="radio" name="sex" value="女"/>女 </td> </tr> <tr> <td> <p align="right">兴趣爱好:</p> </td> <td> <input name="interet" type="text"/> </td> </tr> <tr> <td> <p align="right">家庭住址:</p> </td> <td> <select name="address"> <option>农村</option> <option>城市</option> <option>市中心</option> </select> </td> </tr> <tr> <td> <p align="right">备注:</p> </td> <td> <textarea rows="20" cols="30" name="remarks"></textarea> </td> </tr> <tr> <td colspan="2"> <p align="center"> <input type="submit" value="提交"/> <input type="reset" value="重置"> </p> </td> </tr> </table> </form> </body> </html>
ex02b.php
<?php header('Content-type:text/html;charset=utf-8'); //数据库服务器主机名,端口号,选择的数据库,字符集 $dsn = "mysql:host=localhost;dbname=test;charset=utf8"; $user = 'root'; //数据库名 $pwd = '123456'; //数据库密码 if( isset($_GET['name']) && isset($_GET['sex'])){ $name=$_GET['name']; $sex=$_GET['sex']; } if(isset($_GET['id'])){ $id=$_GET['id']; } ?> <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <?php if( isset($_GET['name']) && isset($_GET['sex'])) { if ($sex == "女") { echo "<h1 align=\"center\">" . $name . "小姐您好,对不起,没有找到您的个人资料,请填写您的详细资料!" . "</h1>"; } else { echo "<h1 align=\"center\">" . $name . "先生您好,对不起,没有找到您的个人资料,请填写您的详细资料!" . "</h1>"; } } if(!empty($id)){ } ?> <hr color="red"> <?php if( isset($_GET['name']) && isset($_GET['sex'])) { try { $pdo = new PDO($dsn, $user, $pwd); //如果post表单不为空 if (!empty($_POST)) { //声明变量$fields,用来保存字段信息 $fields = array('name', 'sex', 'interet', 'address', 'remarks'); //声明$values,用来保存值信息 $values = array(); //遍历$fields,获取输入用户名、密码、邮箱的键和值 foreach ($fields as $k => $v) { $data = isset($_POST[$v]) ? $_POST[$v] : ''; if ($data == '') die($v . '字段不能为空!'); //赋值给$fields数组 $fields[$k] = "$v"; //赋值给$values数组 $values[] = "'$data'"; } //将$fields数组以逗号连接,赋值给$fields,组成insert语句中的字段部分 //implode — 将一个一维数组的值转化为字符串 $fields = implode(',', $fields); //将$values数组以逗号连接,赋值给$values,组成insert语句中的值部分 $values = implode(',', $values); //最后把$fields和$values拼接到insert语句中,注意要指定表名 $sql = "insert into user_info ($fields) values ($values)"; if ($res = $pdo->query($sql)) { //注册成功,自动跳转到会员中心 echo '<script>alert("添加成功!");window.location.href="ex02a.php";</script>'; } else { die ('添加失败!'); } } } catch (PDOException $e) { echo $e->getMessage() . '<br>'; echo $e->getLine() . '<br>'; echo $e->__toString() . '<br>'; } define('APP', 'itcast'); } if(!empty($name) && !empty($sex)){ echo '<form action="ex02b.php?name=asdf" method="post" id="form1" name="form1"> <table border="1" align="center"> <tr> <td colspan="2"><p align="center" style="font-size: 20px;background: darkgray;" >添加个人资料</p></td> </tr> <tr> <td> <p align="right">姓名:</p> </td> <td> <input name="name" type="text"/> </td> </tr> <tr> <td> <p align="right">性别:</p> </td> <td> <input type="radio" name="sex" value="男"/>男 <input type="radio" name="sex" value="女"/>女 </td> </tr> <tr> <td> <p align="right">兴趣爱好:</p> </td> <td> <input name="interet" type="text"/> </td> </tr> <tr> <td> <p align="right">家庭住址:</p> </td> <td> <select name="address"> <option>农村</option> <option>城市</option> <option>市中心</option> </select> </td> </tr> <tr> <td> <p align="right">备注:</p> </td> <td> <textarea rows="20" cols="30" name="remarks"></textarea> </td> </tr> <tr> <td colspan="2"> <p align="center"> <input type="submit" value="提交"/> <input type="reset" value="重置"> </p> </td> </tr> </table> </form>'; } if(isset($_GET['id'])) { try { $pdo = new PDO($dsn, $user, $pwd); $sql = "select * from user_info where id=" . $id; if($res = $pdo->query($sql)) { foreach ($res as $it) { $name = $it[0]; $sex = $it[1]; $sex1 = "男"; $sex2 = "女"; $interet = $it[2]; $address = $it[3]; $remarks = $it[4]; $id = $it[5]; } } } catch (PDOException $e) { echo $e->getMessage() . '<br>'; echo $e->getLine() . '<br>'; echo $e->__toString() . '<br>'; } } if(!empty($_POST)) { //数据库服务器主机名,端口号,选择的数据库,字符集 $uname = $_POST['uname']; $sex1 = $_POST['sex1']; $interet = $_POST['interet']; $address = $_POST['address']; $remarks = $_POST['remarks']; try { $pdo = new PDO($dsn, $user, $pwd); //如果post表单不为空 //声明变量$fields,用来保存字段信息 $sql = "update user_info set name='".$uname."',sex='".$sex1."',interet='".$interet."',address='".$address."',remarks='".$remarks."'where id=".$id; echo $sql."<br>"; if ($res = $pdo->query($sql)) { //注册成功,自动跳转到会员中心 echo '<script>alert("更新成功!");window.location.href="ex02a.php";</script>'; } else { die ('更新失败!'); } } catch (PDOException $e) { echo $e->getMessage() . '<br>'; echo $e->getLine() . '<br>'; echo $e->__toString() . '<br>'; } define('APP', 'itcast'); } if(isset($_GET['id'])) { echo '<form action="ex02b.php?id='.$id.'"method="post" id="form1" name="form1"> <table border="1" align="center"> <tr> <td colspan="2"><p align="center" style="font-size: 20px;background: darkgray;" >添加个人资料</p></td> </tr> <tr> <td> <p align="right">姓名:</p> </td> <td> <input name="uname" type="text" value="' . $name . '"/> </td> </tr> <tr> <td> <p align="right">性别:</p> </td> <td>'; if ($sex == $sex1) { echo '<input type = "radio" name = "sex1" value = "男" checked/>男 '; echo '<input type = "radio" name = "sex1" value = "女" />女 '; //<input type = "radio" name = "sex" value = "男" />男 & nbsp; //<input type = "radio" name = "sex" value = "女" />女 & nbsp; } if ($sex == $sex2) { echo '<input type = "radio" name = "sex1" value = "男" />男 '; echo '<input type = "radio" name = "sex1" value = "女" checked/>女 '; } echo '</td> </tr> <tr> <td> <p align="right">兴趣爱好:</p> </td> <td> <input name="interet" type="text" value="' . $interet . '"/> </td> </tr> <tr> <td> <p align="right">家庭住址:</p> </td> <td> <select name="address">'; if ($address == "农村") { echo "<option>农村</option>"; echo "<option>城市</option>"; echo "<option>市中心</option>"; } if ($address == "城市") { echo "<option>农村</option>"; echo "<option selected>城市</option>"; echo "<option>市中心</option>"; } if ($address == "市中心") { echo "<option>农村</option>"; echo "<option >城市</option>"; echo "<option selected>市中心</optionselected>"; } echo '</select> </td> </tr> <tr> <td> <p align="right">备注:</p> </td> <td> <textarea rows="20" cols="30" name="remarks">' . $remarks . '</textarea> </td> </tr> <tr> <td colspan="2"> <p align="center"> <input type="submit" value="提交"/> <input type="reset" value="重置"> </p> </td> </tr> </table> </form>'; } ?> </body> </html>
ex02c.php
<?php header ('Content-type:text/html;charset=utf-8'); //数据库服务器主机名,端口号,选择的数据库,字符集 $dsn = "mysql:host=localhost;dbname=test;charset=utf8"; $user = 'root'; //数据库名 $pwd = '123456'; //数据库密码 $name=$_GET['name']; try { $pdo = new PDO($dsn, $user, $pwd); $sql = "select * from user_info where name=".$name; if($res = $pdo->query($sql)){ foreach ($res as $it){ $name=$it[0]; $sex=$it[1]; $sex1="男"; $sex2="女"; $interet=$it[2]; $address=$it[3]; $remarks=$it[4]; $id=$it[5]; } } }catch(PDOException $e) { echo $e->getMessage() . '<br>'; echo $e->getLine() . '<br>'; echo $e->__toString() . '<br>'; } ?> <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <table border="1" align="center"> <tr> <td colspan="2"><p align="center" style="font-size: 20px;background: darkgray;" >添加个人资料</p></td> </tr> <tr> <td> <p align="right">姓名:</p> </td> <td> <input name="name" type="text" value="<?php echo $name?>"/> </td> </tr> <tr> <td> <p align="right">性别:</p> </td> <td> <?php echo $sex?> </td> </tr> <tr> <td> <p align="right">兴趣爱好:</p> </td> <td> <?php echo $interet?> </td> </tr> <tr> <td> <p align="right">家庭住址:</p> </td> <td> <?php echo $address?> </td> </tr> <tr> <td> <p align="right">备注:</p> </td> <td> <textarea rows="20" cols="30" name="remarks"><?php echo $remarks?></textarea> </td> </tr> <tr> <td colspan="2"> <p align="center"> <a href="ex02b.php?id=<?php echo $id?>">修改</a> <a href="ex02d.php?id=<?php echo $id?>">删除</a> </p> </td> </tr> </table> </body> </html>
ex02d.php
<?php $id=$_GET['id']; header ('Content-type:text/html;charset=utf-8'); //数据库服务器主机名,端口号,选择的数据库,字符集 $dsn = "mysql:host=localhost;dbname=test;charset=utf8"; $user = 'root'; //数据库名 $pwd = '123456'; //数据库密码 $id=$_GET['id']; try { $pdo = new PDO($dsn, $user, $pwd); $sql = "delete from user_info where id=" . $id; if ($res = $pdo->query($sql)) { //注册成功,自动跳转到会员中心 echo '<script>alert("删除成功!");window.location.href="ex02a.php";</script>'; } else { //否则提示登录失败 die('登录失败!'); require './login_html.php'; } }catch(PDOException $e){ echo $e->getMessage().'<br>'; echo $e->getLine().'<br>'; echo $e->__toString().'<br>'; }