0

所以我在这里有一个我创建的函数。当我使用 postgres 数据库时它可以工作,但是一旦我切换到 mysqli,由于某种原因,它不会返回 id。这是我的功能:

function getAccID($connection, $username){
    $res = mysqli_query($connection, "SELECT accounts_id FROM people WHERE people.username ='$username'");
    if ($res){
        $row = mysqli_fetch_assoc($res);
        if ($row){
            return ($row[0]);
        }
    }else{
        //handle the error
    }

}

这是我声明函数的方式:

$accountID = getAccID($connection, $user);
$p->addContent("Account ID: $accountID");
if (!$accountID) $p->addContent('Error: ' . mysqli_error($connection) . "<br>");

PS:如果有人使用 mysqli_query 而不是准备语句对我说任何关于我的事情,我会谋杀一些婴儿:L。我用它来测试,一旦一切正常,就很容易切换到准备好的语句。

固定的

问题在于 Postgres 我可以使用字段的 id,但对于 mysqli,我必须使用名称。

因此这行不通

$row[0];

它必须是:

$row["name_of_field"];
4

1 回答 1

1

当您使用mysqli_fetch_assoc

$row 应该有字段的名称

使用 $row['id'] 而不是 $row[0]

于 2013-10-03T23:40:40.837 回答