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");
}
?>


浙公网安备 33010602011771号