当前位置: 首页 > article >正文

PHP 数据库交互优化,根据传参查询

接上文
修改以下内容

将查询的 uid 改为 username,同时在 user 和 message 两张表中查询

$sql = "select m.id,u.username,m.title,m.content from user u,message m where u.id=m.uid;"

根据 message 中的 id 查询,形式为

http://127.0.0.1/mysql.php?id=
$id=$_REQUEST['id'];
$sql = "select m.id,u.username,m.title,m.content from user u,message m where u.id=m.uid and m.id={$id} ;";

为防止出现未传 id 是报错,可为 $id 设置默认值

$id=isset($_REQUEST['id'])?$_REQUEST['id']:1;
// 如果获取了上传的参数即使用获取的参数,否则 $id 默认为 1
$sql = "select m.id,u.username,m.title,m.content from user u,message m where u.id=m.uid and m.id={$id} ;";

源码

<?php
    $db_host="127.0.0.1"; //或 localhost
    $de_user="root";
    $db_pass="root";
    $db_name="bbs";
    $link = @mysqli_connect($db_host,$de_user,$db_pass,$db_name);
	// 防止报错加 @
	if(!$link){
        $failed = "[".mysqli_connect_errno()."]".mysqli_connect_error();
        exit($failed);
        //连接失败直接报错退出,不执行后续代码
    }else{
        $id=isset($_REQUEST['id'])?$_REQUEST['id']:1;
        // 如果获取了上传的参数即使用获取的参数,否则 $id 默认为 1
        $sql = "select m.id,u.username,m.title,m.content from user u,message m where u.id=m.uid and m.id={$id} ;";
        // 定义数据库查询语句

        $results = mysqli_query($link,$sql);
        // 返回结果对象集
        
        if(!$results){
        // 如果获取失败
        echo "[".mysqli_errno($link)."]".mysqli_error($link);
        }

        echo"<table border=1>";

        echo"<tr><td>id</td><td>name</td><td>title</td><td>content</td></tr>";
        //  每条数据包含 id、uid、title、content 四项

        while($result = mysqli_fetch_assoc($results)){
        // 在查询的对象集中依次提取每条数
        
        echo "<tr>";
        // 每次循环(每条留言)建立一行
        
        foreach($result as $key => $value){
            echo "<td>";
            echo $value;
            echo "</td>";
        }
        echo "</tr>";
    }
    echo"</table>";
    }
    mysqli_close($link);
    ?>

未传参效果

image-20231025102913709
传参效果
image-20231025102900216


http://www.kler.cn/a/104964.html

相关文章:

  • 深入理解强化学习——强化学习的历史:近代强化学习的发展
  • 0037【Edabit ★☆☆☆☆☆】【修改Bug 2】Buggy Code (Part 2)
  • k8s 1.28版本:使用StorageClass动态创建PV,SelfLink 问题修复
  • HarmonyOS鸿蒙原生应用开发设计- 华为分享图标
  • Vue3中的v-model
  • docker自动构建jar镜像,自动发布最新镜像的简单shell脚本
  • 【码银送书第九期】《ChatGPT 驱动软件开发:AI 在软件研发全流程中的革新与实践》
  • 【CMN】Power management
  • 【深度学习实验】循环神经网络(五):基于GRU的语言模型训练(包括自定义门控循环单元GRU)
  • 26装饰器3(在面向对象的过程中使用装饰器)
  • 墨西哥专线大型工程设备海运
  • 0基础学习PyFlink——使用Table API实现SQL功能
  • uniapp实现登录组件之外区域置灰并引导登录
  • 从零开始 Spring Cloud 15:多级缓存
  • 16 用于NOMA IoT网络上行链路安全速率最大化的HAP和UAV协作框架
  • [Python从零到壹] 七十二.图像识别及经典案例篇之OpenGL入门及绘制基本图形和3D图
  • https下载图片
  • 强化学习问题(7)--- Python和Pytorch,Tensorflow的版本对应
  • 腾讯云创建了jenkins容器,但无法访问
  • Hadoop3.0大数据处理学习4(案例:数据清洗、数据指标统计、任务脚本封装、Sqoop导出Mysql)