此代码怎么可能:
$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语句检查变量是否为数组。而且我想知道如何解决该错误。
答案 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'];