Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php sql PDO是否获取所有重复的对象键?_Php_Sql_Pdo - Fatal编程技术网

Php sql PDO是否获取所有重复的对象键?

Php sql PDO是否获取所有重复的对象键?,php,sql,pdo,Php,Sql,Pdo,我使用fetchAll()方法发布了PDO 当执行显示对象数组的结果时,其效果很好,但每个对象都有重复的关键点,例如: $catid = intval( $api->param['catid'] ); $json = array(); $prepar = "SELECT * FROM " . DB_PREFIX . "cat_sub WHERE `catid` = :catid ORDER BY `orderid` asc"; try{

我使用
fetchAll()
方法发布了
PDO

当执行显示对象数组的结果时,其效果很好,但每个对象都有重复的关键点,例如:

$catid = intval( $api->param['catid'] );

      $json   = array();
      $prepar = "SELECT * FROM " . DB_PREFIX . "cat_sub WHERE `catid` = :catid ORDER BY `orderid` asc";

      try{

               $q = $api->pdo->prepare($prepar);

               $q->bindparam(":catid" , $catid , PDO::PARAM_INT);

               $q->execute();

               $json = $q->fetchAll();

      }catch( PDOException $e ){

           $api->showError = $e->getMessage();

      }

      echo json_encode($json);
      exit();
每个对象的输出都是

{
"subcatid":"6",
"0":"6",
"title":"coool ",
"1":"coool ",
"catid":"2",
"2":"2",
"orderid":"1",
"3":"1"
},
它应该是

{
"subcatid":"6",
"title":"coool ",
"catid":"2",
"orderid":"1",
},
如何在没有循环或foreach的情况下执行此操作的任何建议:)

您必须指定


请指定提取模式

改变

$json = $q->fetchAll(); 


您的答案与@Justinas?@RamSharma-mine的答案有什么区别?我的答案与所有抓取模式可用的文档链接有什么区别。我只是指定了错误。就这些。:)但是@Justinas在我之前就已经发布了我觉得两个答案都是一样的,而不是重复同样的答案,你应该更喜欢或投票给@justina的答案实际上我在回答时没有看到:)
$json = $q->fetchAll(); 
$q->fetchAll(PDO::FETCH_ASSOC);