Php 使用mysql\u fetch\u对象
我最近学习了一些OOP PHP,似乎在使用mysql_fetch_object()时遇到了问题,收到了错误 注意:未定义的属性: stdClass::$FirstName在中 上的C:\xampp\htdocs\includes\login.php 第10行 以下是我正在使用的代码:Php 使用mysql\u fetch\u对象,php,mysql,oop,Php,Mysql,Oop,我最近学习了一些OOP PHP,似乎在使用mysql_fetch_object()时遇到了问题,收到了错误 注意:未定义的属性: stdClass::$FirstName在中 上的C:\xampp\htdocs\includes\login.php 第10行 以下是我正在使用的代码: class User { public function CheckLogin() { $conn = new db(); $_email = mysql_escap
class User
{
public function CheckLogin()
{
$conn = new db();
$_email = mysql_escape_string($this -> Email);
$_password = mysql_escape_string($this -> Password);
$data = mysql_query("SELECT Email, Password FROM users WHERE Email = 'test@test.com AND Password = 'test' AND Enabled = 1") or die(mysql_error());
return mysql_fetch_object($data);
}
}
我按如下方式调用此函数:
$u = new User();
$user = $u -> CheckLogin();
echo $user -> FirstName;
我被我做错的事情难住了,有人能给我指出正确的方向或给出一个可能的解决办法吗?你正在选择
电子邮件和密码,没有名字,所以你不能访问它。你的查询只有两列:电子邮件和密码。因此,表中的所有其他字段(包括字段FirstName)将不会被提取,并且在从函数返回的对象中不可用
请尝试以下查询:
SELECT FirstName, Email, Password FROM users WHERE Email = 'test@test.com AND Password = 'test' AND Enabled = 1
这还将获取FirstName属性,或者使用*选择所有列,以便可以使用所获取对象中的任何字段。祝你好运 您只获取电子邮件和密码,而不是名字
因此,您的查询如下所示:
$data = mysql_query("SELECT FirstName,Email, Password FROM users WHERE Email = 'test@test.com AND Password = 'test' AND Enabled = 1") or die(mysql_error());