0

PHPエコーを介してデータベーステーブルから値を表示しようとしています。MySQL の結果は double (10, 2) です。

<?php $link = new mysqli('127.0.0.1', '*******', '*******', '*******');
                     if ($link->connect_errno) {
                        die('Failed to connect to MySQL: (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
                     }
                    $user = $_SESSION['user'];
                    $result = $link->query("SELECT * FROM users WHERE username='$user' AND active=1");
                    $numrows = $result->num_rows;
                    if($numrows == 0 || $numrows > 1)
                    {
                        $link->close();
                        session_destroy();
                        echo '<META HTTP-EQUIV="Refresh" Content="0; URL=**************">';
                        exit;   
                    }
                    else if($numrows == 1)
                    {
                        //$sid = $result(8);
                        echo '<strong>this is my string in which i want to show the result in' . $result(8) . 'rest of the string';}?>

エラーが表示される行はエコー行です(最後に)。ここで私が間違っていることを誰かが指摘できますか? ありがとうございました。

4

4 に答える 4

3

あなたが呼び出し$result(8)ているのはphpのメソッド呼び出しです。私はあなたが意味したと思います

$dataRow = $result->fetch_array(MYSQLI_ASSOC);
// collect whatever you need from the array $dataRow array

PHP はインタープリター言語であるため、変数に値を代入してその変数を呼び出すことができます。

$func = 'myFunc';
$func(); // will call the function myFunc
于 2013-05-01T17:58:50.077 に答える
2

$result変数はMySQLi Resultです。その結果セットから行を取得したいとします。これを行うには、fetch_assoc を使用します。これにより、テーブルのすべてのフィールドをキーとして持つ連想配列が得られます。

$row = $result->fetch_assoc();
echo $row['username'];
echo $row['whatever'];

編集: SQL インジェクションクロスサイト スクリプティング、Cookie の改ざんなどのセキュリティ リスクの影響を受けやすいことに注意してください。

于 2013-05-01T18:00:36.320 に答える
0

配列値にアクセスしようとしています。次を使用する必要があります。

$result[8] ではなく $result(8)

よろしくお願いします!

于 2013-09-17T22:10:24.853 に答える
-1

これを見てください - $result(8) (最後の行)。変数に引数を指定することはできません。おそらく $result[8] (配列の 9 番目の要素) が必要でした。

于 2013-05-01T18:00:00.540 に答える