Параметр PHP class_name функции mysql_fetch_object () - PullRequest
2 голосов
/ 26 февраля 2012

Я использую mysql_fetch_object в своем коде и получаю сообщение об ошибке, поскольку объект, экземпляр которого я пытаюсь создать, имеет конструктор.

Ошибка следующая: Warning: Missing argument 1 for Ratio::__construct() in /Users/Alex/Sites/All Good Things/_manage/c/c_ratio.php on line 9

Что я могу понять; Вот код для конструктора Ratio:

function __construct($new_name, $new_x, $new_y)
{
    $this->name = $new_name;
    $this->x = $new_x;
    $this->y = $new_y;
}

В любом случае, как передать переменные из результата, который я только что создал, в функцию, т. Е. Что я должен сделать, примерно так:

while ($currentRatio = mysql_fetch_object(
                              $ratio_rs, 
                              'Ratio', 
                               array(
                                    <VALUE OF NAME>, 
                                    <VALUE OF X>, 
                                    <VALUE OF Y>)))

Я не могу найти примеры синтаксиса, требуемого для этого третьего параметра.

1 Ответ

2 голосов
/ 26 февраля 2012

Используйте псевдоним столбца. Псевдоним столбца зависит от того, как вы строите запрос. Если вы используете псевдоним (as), тогда он должен быть псевдонимом, в противном случае используйте имя столбца. Смотрите пример ниже.

$ratio_rs = mysql_query("SELECT Name, x as `X`, y as `Y` from ...");
mysql_fetch_object($ratio_rs, 
    'Ratio', 
    array(
        'Name', 
        'X', 
        'Y'
    )
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...