PHP PDO fetchObject возвращает дублированные свойства, половина из которых имеет значение nullPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHP PDO fetchObject возвращает дублированные свойства, половина из которых имеет значение null

Сообщение Anonymous »

Я пытаюсь изучить PHP и MySQL. У меня есть база данных и происходит некоторый поиск, но когда я использовал fetchObject(), я получил два возвращаемых экземпляра. Впервые попробовал:

Код: Выделить всё

class Food {
// Properties
public $id;
public $version;
public $name;
public $solid;
public $servingtext;
public $servingmeasure;
public $servingamount;

private function __construct__() {}

public static function get_with_id ($dbconn,$id, $version) {
$stmt = $dbconn->prepare('SELECT * FROM Foods WHERE Id = :Id and Version = :Version;');
$stmt->execute([':Id' => $id, ':Version' => $version]);
return  $stmt->fetchObject(__CLASS__);
//   return $answer;
}

// Methods
function set_id($id){
$this->id = $id;
}
etc. with sets and gets
Вызов

Код: Выделить всё

require "./templates/header.php";

try
{
include __DIR__ . '../../connection.php';
$conobj = new Connection();
$dbconn = $conobj->get_connection();
} catch (Throwable $t) {
error_log(__FILE__ . ':' . $t->getMessage());
echo 'Connection Error ' . $t->getMessage();
}
require "./models/food.php";
$food = Food::get_with_id ($dbconn,2,0);
var_dump($food);
Результат:

Код: Выделить всё

object(Food)#4 (14) { ["id"]=> NULL ["version"]=> NULL ["name"]=> NULL ["solid"]=> NULL ["servingtext"]=> NULL ["servingmeasure"]=> NULL ["servingamount"]=> NULL ["Id"]=> int(2) ["Version"]=> int(0) ["Name"]=> string(35) "Sanitarium Weet-Bix Blends Hi-Bran+" ["Solid"]=> int(1) ["ServingText"]=> string(28) "1 serving = 40g (2 biscuits)" ["ServingMeasure"]=> string(1) "g" ["ServingAmount"]=> int(40) }
Там должно быть всего 7 полей, но в первом наборе все NULL, а затем есть объект, на который я надеюсь.
Я пробовал..

Код: Выделить всё


Подробнее здесь: [url]https://stackoverflow.com/questions/79276892/php-pdo-fetchobject-returns-duplicated-properties-half-of-them-null[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»