1

次のコードは chrome では問題なく動作しますが、Firefox で読み込もうとすると、「通知:行 23 の* /loginTrueFunctions.phpで非オブジェクトのプロパティを取得しようとしています」と表示されます。

これらは「問題コード」です。

$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 はエラーも結果も返しませんが、クロムは次のエラーを返します:型 stdClass のオブジェクトを配列として使用できません。

次に、mysqli_fetch_object を mysqli_fetch_array に変更します。結果: Chrome は正常に動作し、firefox はエラーも結果も出しません。

4

4 に答える 4

1

おそらく、セッション (または Cookie) の内容はブラウザーによって異なります (たとえば、あるブラウザーではログインしているが、他のブラウザーではログインしていないなど)。する

var_dump($_SESSION); var_dump($_COOKIE); 

そして見る

于 2013-05-31T18:30:09.043 に答える
0

おそらく、両方のブラウザにエラーが表示され、マークアップが壊れているだけで、2つの異なる方法で修正しています.1つはマークアップを表示したままにし、もう1つは表示しない. コードを見なければ、確実に知る方法はありません。

プロティップ

1 回の呼び出しでデータベースから複数のフィールドを選択できます。

$res = mysqli_query($mysqli_connect,"
                    SELECT firstName, lastName 
                    FROM users
                    WHERE id = '".(int)$id."'
                    LIMIT 1");

if (!$res) die("Error running query at ".__FILE__." : ".__LINE__);

$person = mysqli_fetch_object($res);

echo $person->firstName; 
echo $person->lastName;
于 2013-05-31T18:37:16.030 に答える