在fetch对象上定义新变量 - mysql

时间:2016-02-24 05:54:56

标签: php mysql

我有这样的查询:

$sql = "select * from table limit 0,10";
...
echo $row->col1;

现在,是否可以在此$row查询中创建新的可维护?

例如:

$row->newCol = $myvariable ;

我不想将fetch用作数组或其他。

1 个答案:

答案 0 :(得分:1)

是的,您可以添加,但取决于您希望如何使用它。例如,看看下面的解决方案: 我有一个名为report的表,我从表中选择了字段idname,之后我想添加名为myvar的新变量

$mysqli = new mysqli('localhost', 'root', 'root', 'testdb');

$sql = "select id, name from report limit 2";
$mydata = array();
if ($result = $mysqli->query($sql)) {
    while ($obj = &$result->fetch_object()) {
        $obj->myvar = rand();
        $mydata[] = $obj;
    }
}
print_r($mydata);
$result->close();

<强>输出

Array
(
    [0] => stdClass Object
        (
            [id] => 1
            [name] => Test 1
            [myvar] => 1666108130
        )

    [1] => stdClass Object
        (
            [id] => 2
            [name] => Test 2
            [myvar] => 270993283
        )

)

此处$objstdClass的对象,因此您可以在其中添加变量数。

希望这会对你有所帮助。