0

私はこのコードを持っています:

function get_team_a($id_team){
    $result = mysql_query("SELECT * FROM `table1` WHERE `id` = '{$id_team}'");
    return mysql_fetch_assoc($result);
}

テーブルには3つの列があります:

ppl op  id
10  23  1006
6   21  1005
11  15  1004

しかし、私がそれをするとき:

$team_zgl= get_team_a($team_id); 
<br><b>'.$team_zgl['id'].' </b>  

私は何も持っていませんが、これはうまくいきます:

<br><b>'.$team_zgl['op'].' </b>
<br><b>'.$team_zgl['ppl'].' </b>

なに?!

4

1 に答える 1

1

mysql_fetch_assoc()一度に 1 行だけフェッチします。

$rows = array();
while ($row = mysql_fetch_assoc($result)) {
    $rows[] = $row;
}
return $rows;

これにより、反復できる行の多次元配列が返されます。

1 行も返されない場合は、クエリに構文エラーがある可能性があります。


あなたのコードはインジェクションに対して脆弱です。PDO/mysqli で適切にパラメータ化されたクエリを使用する必要があります

于 2013-04-09T19:56:42.487 に答える