php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #68470 Wish:Add prefix to field name while mysqli_result::fetch_object
Submitted: 2014-11-21 10:47 UTC Modified: 2017-05-15 09:36 UTC
Votes:1
Avg. Score:3.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: eglic dot csdn at gmail dot com Assigned:
Status: Open Package: MySQLi related
PHP Version: 5.6.3 OS: All
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2014-11-21 10:47 UTC] eglic dot csdn at gmail dot com
Description:
------------
I tought to improve fetch_object such as follow code is useful:

mysqli_result::fetch_object ([ string $class_name = "stdClass" [[, string $field_name_prefix = ''], array $params ]] )

example code :

$result = $mysqli->query("select id,name from user limit 1");
$user = $result->fetch_object('stdClass','__');
var_dump($user);

output :

object stdClass {
  $__id = 1;
  $__name = 'someone';
}

-----------------------------------
in addition , i have a question :
 why call __constructor at the last in this method?



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2017-05-15 09:01 UTC] fjanisze@php.net
-Status: Open +Status: Feedback
 [2017-05-15 09:01 UTC] fjanisze@php.net
Can you provide some more use cases for this suggestion? Can you also sketch some specification detail for it? Also, sorry but I do not understand you question, perhaps try stackoverflow.
 [2017-05-15 09:36 UTC] eglic dot csdn at gmail dot com
-Status: Feedback +Status: Open
 [2017-05-15 09:36 UTC] eglic dot csdn at gmail dot com
NOT stdClass. for example :
class UserEntity {
  function __construct(){
    $this->name = '';   // Default value from mysql schema
    $this->status = 1;  // default value from mysql schema
  }

  public $name;

  public $status;
}

////////////////////////////////////
Scene 1:
  $u = new UserEntity();
  $u->name = 'test';
  $u->status = 0;
  $userFactory->Save($u);

  this is correct.
////////////////////////////////////
Scene 2:
   $u = $result->fetch_object('UserEntity');
   var_dump($u);

  output :
    $u->name is '';
    $u->status is 1;
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Fri Oct 18 04:01:27 2019 UTC