2016-12-21 4 views
0

次の列を持つ表があるとします:id-1, id-2, col-1, col-2, col-3 ここでは、id-1が主キーであり、自動インクリメントされています。 id-2は異なるIDであり、一意である必要はありません。その列には同じIDのインスタンスが複数存在します。 col-1、col-2、col-3はちょうど必要な列です。mysqliによって返された特定の行をターゲットにする方法


私はテーブルからデータを選択するためのクエリを渡します。

mysqli_query($connect, SELECT * FROM table WHERE id-2='some_specific_id') 

複数の行が返されます。私は、特定の行を対象行番号3

+0

'LIMIT'文 –

+0

2つの要素をスキップするためにオフセットを使用する制限 –

+0

結果は配列で取得され、3番目のインデックスを取得します。 – Thamilan

答えて

0

使用制限は、あなたが好き欲しいものを得るために言うことができる方法を知っているしたいと思います:

SELECT * FROM table WHERE id-2='some_specific_id' LIMIT 2, 1; 

かを、あなたは利用3日より、配列からを取得したい場合配列のインデックス。

LIMIT説明:

次の2つの引数を持つLIMIT句の構文を示しています カウント、オフセット テーブル LIMIT FROM column1の、column2の、... を選択します。

SELECT 
    column1,column2,... 
FROM 
    table 
LIMIT offset , count; 

のは、LIMIT句のパラメータを調べてみましょう:

The offset specifies the offset of the first row to return. The offset of the first row is 0, not 1. 
The count specifies the maximum number of rows to return. 
+0

ありがとうございます。出来た。 –

0

まず、"を使用します。

mysqli_query($connect, "SELECT * FROM table WHERE id-2 = 'some_specific_id'"); 

ターゲットの特定の行?フェッチされた行を制限することを意味しますか?または3行目を取得しますか?

フェッチされた行を制限するために、あなたはLIMITを使用することができます。

SELECT * FROM table WHERE id-2='some_specific_id' LIMIT 3 

第三列を取得するために:まあ

SELECT * FROM table WHERE id-2='some_specific_id' LIMIT 2, 1 
+0

ありがとうございます。出来た。そして、はい、申し訳ありませんが、私の目を飛ばしました。 –

0

あなただけではなく、あなたを得るために、基本的なSQLを学ぶために必要なようですが、答え、タイトルにはまだ問題がありますが、それは問題がそのように定式化されている他の人々を引き付けるかもしれません。したがって、答えは

です。このタスクでは、Mysqliはあまり便利ではないので、私たちはPDOを使用します。

場合
  • あなたのクエリが複数の行を返すように意図され、あなたは、(とにかくむしろほとんど意味がありませんが、)数によって、それらのうちの1つをアドレス指定fetchAll()方法を使用する必要があります。

    $stmt = $connect->prepare("SELECT * FROM table WHERE id2=?"); 
    $stmt->execute(['some specific id']); 
    $data = $stmt->fetchAll(); 
    

    echo $data[0]['col1']; 
    
  • しかし、それはいくつかのUNIによって返された行に対応するため、より理にかなって:あなたは、ゼロから始まる番号で返された行に対応することができるようになりますque id。この場合、単にフィールドリストで、このユニークなフィールドfisetを追加し、特別なPDO street magicを使用します。

    $stmt = $connect->prepare("SELECT id1, table.* FROM table WHERE id2=?); 
    $stmt->execute(['some specific id']); 
    $data = $stmt->fetchAll(PDO::FETCH_UNIQUE); 
    

    、あなたはそのユニークなフィールドで返される行に対処することができるようになります。

    echo $data[$id1]['col1']; 
    
関連する問題