PHP连接SQL服务器,实现对记录的查看,编辑,删除功能

步骤

  1. 连接sql服务器
  2. 查询指定数据库,指定表的内容
  3. 格式化输出内容
  4. 实现对记录的简单操作
    • 删除
    • 编辑

连接sql服务器

这里使用的是统一接口PDO来访问数据库,连接一个数据库首先要知道数据库服务器的地址,博主使用的是mysql,默认端口为3306,然后需要一个用户名和对应的密码,PDO还需要指定数据库服务器类型。

$dsn = "mysql:localhost:3306;database"
//分别是数据库类型,冒号断开,服务器地址,分号断开,数据库名称(可以先不指定数据库)
$pdo = new PDO($dsn,$username,$pwd)//实例化PDO

这样就可以创建一个PDO对象
来测试一下


echo "

测试sql服务器连接

"
; $dbms='mysql';//指定数据库服务器类型 $dbname='S1_student_copy';//指定数据库 $username='root';//用户名 $passwd='******';//用户名密码 $host='localhost:3306';//服务器地址 $dsn="$dbms:host=$host;dbname=$dbname";//构造结构,可以不指定数据库 try { $pdo=new PDO($dsn,$username,$passwd);//实例化PDo echo "连接成功
"
; } catch (Exception $exc) { echo $exc ->getMessage(); } ?>

PHP连接SQL服务器,实现对记录的查看,编辑,删除功能_第1张图片

显示表记录

这里需要向数据库查询记录,PDO对象可以是使用query方法或者prepare准备一个PDOstatement对象,再使用PDOstatement对象的execute方法。prepare提供一种更灵活的查询方式,可以带参数查询
(1) query方法

    $pds = $pdo ->query("select * from sc");//执行查询操作
    $data = $pds-> fetchAll(PDO::FETCH_ASSOC);
    print_r($data);

(2)prepare方法

	$ps = $pdo ->prepare("select * from sc where CID=?");//执行查询操作
    $ps-> execute(array('231454'));
    $b = $ps->fetchAll();
    print_r($b);

博主在这里使用的是query方法查询了sc数据表的内容
在这里插入图片描述
格式化输出一下,

    $pds = $pdo ->query("select * from sc");//执行查询操作
    $data = $pds-> fetchAll(PDO::FETCH_ASSOC);
    print_r($data);
    echo "成绩表数据如下
"
; echo " ";echo"";echo"";echo"";echo"";foreach($dataas$r=>$v){echo"";echo"";echo"";}

PHP连接SQL服务器,实现对记录的查看,编辑,删除功能_第2张图片

简单操作

思路打开是这样的,再写一个php文件edit.php来操作数据
PHP连接SQL服务器,实现对记录的查看,编辑,删除功能_第3张图片
然后在显示网页index.php的输出表格里面添加两个链接

    foreach($data as $r =>$v){
        echo "
"; echo ""; echo ""; echo '
课程号 学号 成绩 操作
".$v['CID']." ".$v['SID']." ".$v['Scores']."
".$v['CID']."".$v['SID']."".$v['Scores'].".$v['SID'].'">编辑 | '; echo '.$v['SID'].'"> 删除 '; }
  • 编辑会发送op=1和当前记录的学号
  • 删除会发送op=2和当前记录的学号
    PHP连接SQL服务器,实现对记录的查看,编辑,删除功能_第4张图片
    然后来写edit.php文件,首先还是先连接数据库。

echo "

测试sql服务器连接

"
; $dbms='mysql';//指定数据库服务器类型 $dbname='S1_student_copy';//指定数据库 $username='root';//用户名 $passwd='******';//用户名密码 $host='localhost:3306';//服务器地址 $dsn="$dbms:host=$host;dbname=$dbname";//构造结构,可以不指定数据库 try { $pdo=new PDO($dsn,$username,$passwd);//实例化PDo echo "连接成功
"
; } catch (Exception $exc) { echo $exc ->getMessage(); } ?>

然后获取操作代码和指定学号

    $op=$_GET["op"];
    $sid=$_GET["sid"];
  • 然后是删除操作
if ($op == 2) {
        $pdo->exec("delete from sc where SID=$sid");
        echo '';
    }
  • 编辑
elseif($op == 1){
        if(count($_POST)==0){
            echo'
.$sid.' method=post>课程号学号成绩'; echo'
'
; exit; } $newcid=$_POST['CID']; $newsid=$_POST['SID']; $newscores=$_POST['Scores']; //print_r($_POST); $pdo->exec('update sc set CID='."$newcid".',SID='."$newsid".',Scores='."$newscores".' where SID='."$sid"); echo ''; //echo('update sc set CID='."$newcid".',SID='."$newsid".',Scores='."$newscores".' where SID='."$sid"); }

当点击编辑按钮,跳转到edit.php并携带操作代码1,和学号,根据操作代码1,首先测试是否有post数据,发现没有,显示表单
PHP连接SQL服务器,实现对记录的查看,编辑,删除功能_第5张图片
提交数据点击保存,会将三个数据post和操作代码1和原来的学号发送给本页面,本页面再次检测是否有post数据,发现有数据,执行编辑操作

最后的代码

index.php

echo "

测试sql服务器连接

"
; $dbms='mysql';//指定数据库服务器类型 $dbname='S1_student_copy';//指定数据库 $username='root';//用户名 $passwd='*****';//用户名密码 $host='localhost:3306';//服务器地址 $dsn="$dbms:host=$host;dbname=$dbname";//构造结构,可以不指定数据库 try { $pdo=new PDO($dsn,$username,$passwd);//实例化PDo echo "连接成功
"
; //$pdo->exec("create database test;"); //$pdo->exec("drop database test;"); // $ps = $pdo ->prepare("select * from sc");//执行查询操作 // $ps-> execute(); // $b = $ps->fetchAll(); // print_r($b); $pds = $pdo ->query("select * from sc");//执行查询操作 $data = $pds-> fetchAll(PDO::FETCH_ASSOC); print_r($data); echo "成绩表数据如下
"
; echo " ";echo"";echo"";echo"";echo"";foreach($dataas$r=>$v){echo"";echo"";echo"";echo'
课程号 学号 成绩 操作
".$v['CID']." ".$v['SID']." ".$v['Scores']." .$v['SID'].'">编辑 | '; echo '.$v['SID'].'"> 删除 '; } } catch (Exception $exc) { echo $exc ->getMessage(); } ?>
edit.php

echo "

测试sql服务器连接

"
; $dbms='mysql';//指定数据库服务器类型 $dbname='S1_student_copy';//指定数据库 $username='root';//用户名 $passwd='******';//用户名密码 $host='localhost:3306';//服务器地址 $dsn="$dbms:host=$host;dbname=$dbname";//构造结构,可以不指定数据库 try { $pdo=new PDO($dsn,$username,$passwd);//实例化PDo echo "连接成功
"
; //$pdo->exec("create database test;"); //$pdo->exec("drop database test;"); $op=$_GET["op"]; $sid=$_GET["sid"]; //print_r($_GET); if ($op == 2) { $pdo->exec("delete from sc where SID=$sid"); echo ''; }elseif($op == 1){ if(count($_POST)==0){ echo'.$sid.' method=post>课程号学号成绩'; echo'
'
; exit; } $newcid=$_POST['CID']; $newsid=$_POST['SID']; $newscores=$_POST['Scores']; //print_r($_POST); $pdo->exec('update sc set CID='."$newcid".',SID='."$newsid".',Scores='."$newscores".' where SID='."$sid"); echo ''; //echo('update sc set CID='."$newcid".',SID='."$newsid".',Scores='."$newscores".' where SID='."$sid"); } } catch (Exception $exc) { echo $exc ->getMessage(); } ?>

你可能感兴趣的:(笔记,#,PHP,sql,mysql,php,pdo)