Php 我编写了一些从数据库中获取数据的代码,在mysql中代码正常,在pdo中则不正常 这是mysql连接编码,工作正常

Php 我编写了一些从数据库中获取数据的代码,在mysql中代码正常,在pdo中则不正常 这是mysql连接编码,工作正常,php,mysql,pdo,Php,Mysql,Pdo,与我使用pdo连接编写的代码相同,它不起作用。我是php新手,请帮助我解决此问题。 提前谢谢 <?php error_reporting(0); ini_set('max_execution_time', 600); require_once 'config.php'; if(isset($_GET["nm_mask"])) $nm_mask = $_GET['nm_mask']; else $nm_mask = ""; if(isset($_GET

与我使用pdo连接编写的代码相同,它不起作用。我是php新手,请帮助我解决此问题。 提前谢谢

<?php   
error_reporting(0);
 ini_set('max_execution_time', 600);
 require_once 'config.php';

 if(isset($_GET["nm_mask"]))
     $nm_mask = $_GET['nm_mask'];
 else 
     $nm_mask = "";
 if(isset($_GET["cd_mask"])) 
     $cd_mask = $_GET['cd_mask'];
 else
     $cd_mask = "";

 if(isset($_GET["func"])) 
     $func = $_GET['func'];
 else
     $func = "";

 $where = "WHERE 1=1";
 if($nm_mask!='')
     $where.= " AND Login LIKE '$nm_mask%'";
 if($cd_mask!='')
     $where.= " AND Manager_Login LIKE '$cd_mask%'";
  if($func!='')
     $where.= " AND Function LIKE '$func%'";

 $page = $_GET['page']; // get the requested page
 $limit = $_GET['rows']; // get how many rows we want to have into the grid
 $sidx = $_GET['sidx']; // get index row - i.e. user click to sort
 $sord = $_GET['sord']; // get the direction

 if(!$sidx) $sidx =1; // connect to the database
 $result = mysqli_query("SELECT COUNT(*) AS count FROM EmpMasterTB ".$where);
 $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
 $count = $row['count'];

 if( $count >0 ) { 
 $total_pages = ceil($count/$limit);
 } else { 
 $total_pages = 0; 
 } 
 if ($page > $total_pages) $page=$total_pages;
 if ($limit<0) $limit = 0; 
 $start = $limit*$page - $limit; // do not put $limit*($page - 1)
 if ($start<0) $start = 0;
 $SQL = "SELECT * from EmpMasterTB ". $where ." ORDER BY $sidx $sord LIMIT $start , $limit"; 
 $result = mysqli_query( $SQL ) or die("Couldn?t execute query.".mysqli_error());
 $responce->page = $page;
 $responce->total = $total_pages;
 $responce->records = $count; 
 $i=0;
 while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { 
 $responce->rows[$i]['id']=$row[WeekNo].$row[Login];
 $responce->rows[$i]['cell']=array($row['WeekNo'],$row['WeekBeginning'],$row['SITE'],$row['Name'],$row['WFH'],$row['Login'],$row['Manager_Login'],$row['Lead'],$row['Cost_center'],$row['Business_Title'],$row['Function'],$row['Workgroup'],$row['Login_time'],$row['ROLE'],$row['Secondary_Skill'],$row['Weekoff'],""); $i++;
 } 
 echo json_encode($responce);

?>

您错过了for循环,并且没有在json_encode()中传递响应。
请检查我的以下代码:

 /*** echo number of columns ***/


    $objs = $stmt->fetch(PDO::FETCH_OBJ);

        /*** loop over the object directly ***/
foreach($objs as $obj)
         { 
     $responce->rows[$i]['id']=$obj->WeekNo.$obj->Login;
     $responce->rows[$i]['cell']=array($obj->WeekNo ,$obj->WeekBeginning ,$obj->SITE ,$obj->Name ,$obj->WFH ,$obj->Login ,$obj->Manager_Login ,$obj->Lead ,$obj->Cost_center ,$obj->Business_Title ,$obj->Function ,$obj->Workgroup ,$obj->Login_time ,$obj->ROLE ,$obj->Secondary_Skill ,$obj->Weekoff ); $i++;
    } 

     echo json_encode($responce );

“不工作”,什么不工作?请启用错误报告并发布发生的消息
错误报告(0)这违背了调试的目的。应该启用它。我认为
$dbh->exec
应该是
$dbh->execute
它没有从数据库中获取数据,也没有生成错误日志。。
 /*** echo number of columns ***/


    $objs = $stmt->fetch(PDO::FETCH_OBJ);

        /*** loop over the object directly ***/
foreach($objs as $obj)
         { 
     $responce->rows[$i]['id']=$obj->WeekNo.$obj->Login;
     $responce->rows[$i]['cell']=array($obj->WeekNo ,$obj->WeekBeginning ,$obj->SITE ,$obj->Name ,$obj->WFH ,$obj->Login ,$obj->Manager_Login ,$obj->Lead ,$obj->Cost_center ,$obj->Business_Title ,$obj->Function ,$obj->Workgroup ,$obj->Login_time ,$obj->ROLE ,$obj->Secondary_Skill ,$obj->Weekoff ); $i++;
    } 

     echo json_encode($responce );