0

mySQLi が作成されるまで、mySQL は正常に動作していました :/

以前に mysql_fetch_array() を使用したことがあります。しかし、mysqli_fetch_array() {Notice "i"} を使用すると、複数のテーブルから選択するときに ASSOCIATIVE 配列から結果を取得する際に問題が発生します。あれは、

$query = "SELECT t1.id, t2.id FROM t1, t2 WHERE ...";
$result = mysqli_query($conn,$query);
//if num of rows check...
while($row = mysqli_fetch_array($result))
{ $first_id = $row['t1.id']; $second_id = $row['t2.id']; }

そして、エラーが発生します: 未定義のインデックス: t1.id (または t2.id)。

t1 または t2 (両方ではない) からのみ選択していた場合、または $row['id']; と言っていた場合、クエリは正常に機能します。$row['t1.id']; の代わりに しかし、それは同じ名前の2つのテーブルから異なるフィールドを取得するのに役立ちません

助けてください。

ありがとう!=)

4

1 に答える 1

0

あなたのコードでは t1.id と t2.id を分離するのに問題があります。結果は両方を 'id' として返します。

AS代わりにクエリで使用して、列の名前変更/エイリアスを試してください。

$query = "SELECT t1.id AS t1id, t2.id AS t2id FROM t1, t2 WHERE ...";
$result = mysqli_query($conn,$query);
//if num of rows check...
while($row = mysqli_fetch_array($result))
{ $first_id = $row['t1id']; $second_id = $row['t2id']; }
于 2012-08-12T08:58:52.470 に答える