连接行返回数组内爆错误

时间:2018-12-05 13:02:10

标签: php mysql

此代码怎么可能:

$con->query("SELECT `user_id` FROM `users` WHERE user_username = :username");
$con->bind(":username", $username);
$con->execute();

if (is_array($con->getRow())) {
    $user_id = implode($con->getRow());
} else {
    $user_id = $con->getRow();
}

给我这个错误:     Warning: implode(): Argument must be an array in C:\xampp\htdocs\accreditatieModule\get_account.php on line 30

我已经尝试过var_dump($ con-> getRow());它返回:array(1) { ["user_id"]=> string(1) "3" }

我想知道为什么这个错误显示得更加棘手,我首先使用if语句检查变量是否为数组。而且我想知道如何解决该错误。

1 个答案:

答案 0 :(得分:2)

我认为每次对getRow()的调用都在获取下一行,因此您需要存储结果并使用它...

$row = $con->getRow();
if (is_array($row)) {
    $user_id = implode($row);
} else {
    $user_id = $row;
}

尽管您只获取一行,所以应该可以使用

$row = $con->getRow();
$user_id = $row['user_id'];