php 总结(5) 数据库连接 增删改查
1.数据库成功连接
$dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'root'; // mysql用户名 $dbpass = '123456'; // mysql用户名密码 $a = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysqli_error()); } echo '数据库连接成功!'; mysqli_close($a);
PDO 方式
<?php $pdo = New PDO ('mysql:host=localhost; dbname=test','root','111111'); $sql="select * from user"; $smt=$pdo->query($sql); $arr=$smt->fetchAll(pdo::FETCH_ASSOC); foreach ($arr as $arrs) { echo '<tr>'; echo "<td>{$arrs['id']} </td>"; echo "<td>{$arrs['name']}</td>"; echo "<td>{$arrs['sex'] }</td>"; echo "<td> {$arrs['shouji']} </td>"; echo "</tr>"; } ?>
2.查询数据库
// 激活数据库
$s= mysql_select_db('myapp',$a);
// 执行一次查询,查找范围 比如 SELECT id,name FROM users WHERE age=11; $r= mysql_query("SELECT * FROM users"); // 数组形式展示查询数据 $aar=mysql_fetch_array($r); // 获取数据条数 $num=mysql_num_rows($r);
for 循环展示内容 // for ($i=0; $i <$num ; $i++) { // $aar=mysql_fetch_assoc($r); // print_r($aar); // }
// 语句一:select count(*) from T; // 作用:查询T表中记录的行数。 // 语句二:select * from T; // 作用:查询T表中所有的记录 $an=mysql_query("SELECT COUNT(*) FROM users "); $anarr=mysql_fetch_array($an); print_r ($anarr) ; echo "$anarr[0]";
3.数据库插入
1.首先连接数据库
2. config.php 设置公共php
$conn=@mysql_connect('localhost','root','Aa1223425','myapp'); if (!$conn) { die('链接失败'); } mysql_select_db('myapp'); return $conn;
3.查看数据
先query SELECT * FROM users ,查询序列 ,
echo 展示ul li ,for 循环展示
$r = @mysql_query("SELECT * FROM users ");
$num=@mysql_num_rows($r);
echo $num;
echo "<ul style='color:red;list-style:none'>";
for ($i=0; $i < $num; $i++) {
echo "<li>";
$r_arr=mysql_fetch_assoc($r);
$id=$r_arr['id'];
$name=$r_arr['name'];
$age=$r_arr['age'];
// print_r($r_arr);
echo "<h1> $id:<span>$name , $age </span> </h1>";
echo "</li>";
}
echo "</ul>";
4.插入数据
静态部分:
<form action="adduser.php" method="post"> 输入名字:<input type="text" name="name" ><br> 输入年龄:<input type="text" name="age"><br> <input type="submit" value="提交"> </form>
插入部分:adduser.php
插入之前 先用变量存储传递数据,
mysql_query("INSERT INTO users(name,age) VALUES('$name','$age')"); 这句命令插入数据 【 注意 引号】
if (!$_POST['name']) { die('user name not define'); } if (!$_POST['age']) { die('user age not define'); } $name = $_POST['name']; $age = $_POST['age']; echo $name . "+" .$age; require_once 'function.php'; if ($conn) { $age = intval($age); mysql_query("INSERT INTO users(name,age) VALUES('$name','$age')"); if (mysql_errno()) { echo mysql_errno(); } else { header("location:adduser.html"); }; }
数据库修改
1.引入id
echo "<a href=edit.php?id=$id> 修改 </a><br>" 在原先展示页面 先把 id 通过GET的形式传输进来
2.在edit 页面修改
1.链接数据库
2.查找到这个id的数据
SELECT * FROM users WHERE id = $id "
3. 用数组接收它
$arr = mysql_fetch_assoc($r); ($arr['id'] 就是数组单独的项)
4.用form表单 展示出来, 提交给 aditserver.php
5. 在aditserver.php 链接数据库 把POST过来的数据 用东西接收
mysql_query("UPDATE users set name='$name',age='$age' WHERE id =$id");
更新数据表
<?php if ($_GET['id']) { echo $_GET['id']; } require_once 'function.php'; $id = intval($_GET['id']); $r=mysql_query(" SELECT * FROM users WHERE id = $id "); if (mysql_errno()) { die('失败'); } $arr = mysql_fetch_assoc($r); print_r($arr); // 成功获取到 对应的内容 ?> <form action="aditserver.php" method="post"> ID: <input type="text" name="id" value="<?php echo $arr['id'] ?>"> 姓名:<input type="text" name="name" value="<?php echo $arr['name'] ?>"> 年龄:<input type="text" name="age" value="<?php echo $arr['age'] ?>"> <input type="submit" value="提交"> </form>
edit
UPDATE users SET name='$name',age='$age' WHERE id =$id
<?php require_once 'function.php'; $id= intval($_POST['id']); $name=$_POST['name']; $age= intval($_POST['age']); // 更新数据表 mysql_query("UPDATE users SET name='$name',age='$age' WHERE id =$id"); if (mysql_errno()) { echo mysql_error(); }else{ echo "成功修改"; header("location:index.php"); } ?>
删除数据
引入id
echo "<a href=delete.php?id=$id> 删除 </a><br>";
执行删除
DELETE FROM users WHERE id=$id
<?php require_once 'function.php'; $id= intval($_GET['id']); echo "$id"; mysql_query( " DELETE FROM users WHERE id=$id "); if (mysql_errno()) { echo mysql_error(); }else{ echo "成功修改"; header("location:index.php"); } ?>