0

次のコードは、私のクラスの 1 つのセクションです。

        $stmt = $this->dbh->prepare("SELECT t_id FROM checkOut WHERE t_id = :param1");             
        $stmt->bindParam(':param1', $this->numberIn);
        $stmt->execute();
        $result = $stmt->fetch(PDO::FETCH_ASSOC);
        var_dump($result);
        $this->p_id = $result['p_id'];

p_id私の最初の問題は、それが未定義のインデックスであるとphpが述べていたことでした。何が起こっているのかを理解するためvar_dumpに、配列に何が入っているかを確認しました。4何らかの理由で、最初の列の名前に対応する値が 1 つしか含まれていませんでしt_idた。私の MySQL テーブルには 4 つの列があり、4 つすべてが配列に存在する必要があります。コードが最初の列の値のみを取得するのはなぜですか?

どんな助けでも大歓迎です。

4

2 に答える 2

2

1 つのフィールドのみを取得しています。

SELECT t_id FROM checkOut ...
       ^^^^

p_id が必要な場合は、それも取得する必要があります。

SELECT p_id, t_id FROM checkOut
于 2012-11-03T21:05:40.990 に答える
1

を使用しますSELECT t_idSELECT *代わりに使用してください。

于 2012-11-03T21:05:22.943 に答える