我正在使用PHP创建一个简单的Web应用程序。当我尝试使用相应的username
从我的用户名数据库中获取id
时出现错误
类
mysqli_result
的对象无法转换为string
。
这是我的代码。
public function get_gebruiker_id_by_name($Gebruiker) {
$Gebruiker = $this->real_escape_string($Gebruiker);
$Gebruikerid = $this->query("SELECT klantid FROM klanten WHERE Gebruikersnaam = '" . $Gebruiker . "'");
if ($Gebruikerid->num_rows > 0){
$row = $Gebruikerid->fetch_row();
return $row[0];
} else
return null;
}
public function get_gebruikersnaam_by_id($Gebruikersid) {
return $this->query("SELECT NaamKlant FROM klanten WHERE klantid=" . $Gebruikersid);
}
并调用此函数:
$GebruikersID = (BestellingDB::getInstance()->get_gebruiker_id_by_name($_SESSION['Username']));
$Naamklant = (BestellingDB::getInstance()->get_gebruikersnaam_by_id($GebruikersID));
echo "Welkom" . $Naamklant;
我正在使用会话来保护username
。提前谢谢。
答案 0 :(得分:0)
您正在查询查询对象并回显它。
<?php
print_r( $Naamklant); // instead of echo
?>
或者
public function get_gebruikersnaam_by_id($Gebruikersid) {
$query = $this->query("SELECT NaamKlant FROM klanten WHERE klantid=" . $Gebruikersid);
//return a string (id) here
}
答案 1 :(得分:0)
问题在于: -
$Naamklant = (BestellingDB::getInstance()->get_gebruikersnaam_by_id($GebruikersID));
<?php
echo "Welkom" . $Naamklant;
?>
由于$Naamklant
是一个SQL结果集对象,因此您无法直接通过echo
打印它的值,您需要执行以下操作: -
<?php
$row = $Naamklant->fetch_row();
echo "Welkom" . $row['NaamKlant'];
?>