我的以下代码在 chrome 上工作正常,但是当我尝试在 firefox 上加载它时说:'注意:尝试在 */loginTrueFunctions.php 中获取非对象的属性第 23 行'
这些是“问题代码”:
$firstName = $sqlObjectFirstName->firstName;
和:
$lastName = $sqlObjectLastName->lastName;
PHP代码:
function getFullName($id, $mysqli_connect){
if(isset($_SESSION['login'])){
$queryFirstName = mysqli_query($mysqli_connect,"
SELECT firstName
FROM users
WHERE id = '$id'
LIMIT 1
");
$sqlObjectFirstName = mysqli_fetch_object($queryFirstName);
$firstName = $sqlObjectFirstName->firstName;
printf( ucfirst($firstName));
printf(' ');
$queryLastName = mysqli_query($mysqli_connect,"
SELECT lastName
FROM users
WHERE id = '$id'
LIMIT 1
");
$sqlObjectLastName = mysqli_fetch_object($queryLastName);
$lastName = $sqlObjectLastName->lastName;
printf( ucfirst($lastName));
}
}
提前致谢!
编辑:如果我将结果称为数组,firefox 不会给出错误或结果,但 chrome 会给出此错误:无法将 stdClass 类型的对象用作数组。
然后我将 mysqli_fetch_object 更改为 mysqli_fetch_array,结果:Chrome 工作正常,firefox 没有给出错误也没有结果。
最佳答案
可能您的 session (或 cookie)内容在您的浏览器之间是不同的(例如,您使用一个浏览器登录,而不是另一个浏览器)。做一个
var_dump($_SESSION); var_dump($_COOKIE);
看看
关于PHP 在 chrome 中工作但在 firefox 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16863568/