会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132358个问题
WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 166楼

<?php
  $username=$_POST['myName'];
  $password=$_POST['myPassword'];
  $success=array('msg'=>'ok');
  $con=mysqli_connect('localhost','root','','beixidb');
  if($con){
     mysqli_query($con,'set names utf8');
     mysqli_query($con,'set character_set_client utf8');
     mysqli_query($con,'set character_set_results utf8');
     $sql="select * from userinfo where 1";
     $result=$con->query($sql);
     //解析查询的结果
     if($result->num_rows>0){
      $info=[];
      for($i=0;$row=$result->fetch_assoc();$i++){
           $info[$i]=$row;
           }
           $success['infoCode']=$info;
           //得到解析数组后判断用户发来的数据是否存在数据库中
           $flag=0;//只要执行break就变为1否则一直为0
           for($j=0;$j<count($info);$j++){
              //判断是否与当前用户名相同
              if($info[$j]['username']==$username){
                 //如果相同继续判断是否是当前条目的密码
                 if($info[$j]['password']==$password){
                    $success['infoCode']=0;
                    $flag=1;
                    break;
                 }
              }
           }
           if($flag=0){
              $success['infoCode']=1;
           }
           $success['infoCode']=$info;
     }else{
      $success['infoCode']=1;
     }
  }else{
      $success['infoCode']=2;//0代表登陆成功1代表登录失败2代表数据库连接失败
  }

  //返回给前端
  echo json_encode($success);
?>

老师我这段代码点击登陆后告诉我数据库连接失败,可是我真的找不到哪里错了。。

WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 167楼
WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 168楼

<?php
  $username=$_POST['myName'];
  $password=$_POST['myPassword'];
  $success=array('msg'=>'ok');
  $con=mysqli_connect('localhost','root','','laboratory');
  if($con){
     mysqli_query($con,'set names utf8');
     mysqli_query($con,'set character_set_client utf8');
     mysqli_query($con,'set character_set_results utf8');
     $sql="select  *  from all_in where id='?' and password='?' ";
     $pdoso=$pdo->prepare($sql);
     $pdoso->bindValue(1,'$username');
     $pdoso->bindValue(2,'$password');
     $result=$pdoso->execute();
     //解析查询的结果
     if($result->num_rows>0){
      $info=[];
      for($i=0;$row=$result->fetch_assoc();$i++){
           $info[$i]=$row;
           }
           //得到解析数组后判断用户发来的数据是否存在数据库中
           $flag=0;//只要执行break就变为1否则一直为0
           for($j=0;$j<count($info);$j++){
              //判断是否与当前用户名相同
              if($info[$j]['username']==$username){
                 //如果相同继续判断是否是当前条目的密码
                 if($info[$j]['password']==$password){
                    $success['infoCode']=0;
                    $flag=1;
                    break;
                 }
              }

           }
           if($flag=0){
              $success['infoCode']=1;
           }
           $success['infoCode']=$info;
     }else{
      $success['infoCode']=1;
     }
  }else{
      $success['infoCode']=2;//0代表登陆成功1代表登录失败2代表数据库连接失败
  }

  //返回给前端
  echo json_encode($success);
?>

老师我这段代码运行之后也不报错,但是也不提示是否成功,您看看哪里有问题

WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 169楼
WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 170楼

<?php
  $username=$_POST['myName'];
  $password=$_POST['myPassword'];
  $success=array('msg'=>'ok');
  $con=mysqli_connect('localhost','root','','beixidb');
  if($con){
     mysqli_query($con,'set names utf8');
     mysqli_query($con,'set character_set_client=utf8');
     mysqli_query($con,'set character_set_results=utf8');
     $sql="select * from userinfo where 1";
     $result=$con->query($sql);
     //解析查询的结果
     if($result->num_rows>0){
      $info=[];
      for($i=0;$row=$result->fetch_assoc;$i++){
           $info[$i]=$row;
           }
           //得到解析数组后判断用户发来的数据是否存在数据库中
           $flag=0;//只要执行break就变为1否则一直为0
           for($j=0;$j<count($info);$j++){
              //判断是否与当前用户名相同
              if($info[$j]['username']==$username){
                 //如果相同继续判断是否是当前条目的密码
                 if($info[$j]['password']==$password){
                    $success['infoCode']=0;
                    $flag=1;
                    break;
                 }
              }

           }
           if($flag=0){
              $success['infoCode']=1;
           }
           $success['infoCode']=$info;
     }else{
      $success['infoCode']=1;
     }
  }else{
      $success['infoCode']=2;//0代表登陆成功1代表登录失败2代表数据库连接失败
  }

  //返回给前端
  echo json_encode($success);
?>

老师我代码运行不报错但是也没有结果,你看看这段代码有问题吗?

WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 171楼
WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 173楼
WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 174楼
WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 177楼

<?php
    echo '<pre>';
    require_once '22-1singleton单例创建PDO对象.php'; //引入单例模式的php文件
    $pdo=singletonPDO::getPdo();
    $pdo->exec('set names utf8');

    //增加
    $sql="insert into userinfo values('xiaohei','521123')";  
    //删除
    //$sql="delete  from userinfo where username='leon'";
       //修改
    //$sql="update userinfo set username='fanbingbing',password='888'  where username='xiaohong'";

    if($pdo->exec($sql)){
        echo '操作成功';
    }else{
        echo  '操作失败';
    }
    //查询
    //$sql="select *  from userinfo where 1";

    $result=$pdo->exec($sql);
    var_dump($result);
?>
<?php
    class singletonPDO{
    private  static $pdo=null;
    public static function getPdo(){
        if(self::$pdo==null){  //self访问静态  并判断
            try{
                self::$pdo=new PDO('mysql:host=localhost;dbname=librarydb','root','');
                self::$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
            }catch(PDOException $e){
                echo '连接错误信息为:'.$e->getMessage();
            }
        }
        return self::$pdo;
    }
    }
?>

image.png

老师,我这往进添加的时候,为啥总是两行两行的添加,怎么回事??

WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 178楼
WEB前端全系列/第五阶段:前后端交互/PHP、数据库编程与设计 180楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637