以下のテーブルとPHPのコードで、
Iholidayの値を配列で受け取れております。
Id | Cusid | Iholiday |
---|---|---|
5 | cus_OIGj | 2021-10-30 |
6 | cus_OIGj | 2021-11-20 |
php
1$iholiday = []; 2$sql = "SELECT Iholiday FROM table3 WHERE Cusid=?"; 3$sth = $dbh -> prepare($sql); 4$array = array('cus_OIGj'); 5$sth -> execute($array); 6while($row = $sth->fetch(PDO::FETCH_ASSOC)){ 7$iholidays = new DateTime($row['Iholiday']); 8$iholiday[] = $iholidays -> format('Y/n/j'); 9} 10echo $iholiday[0]; 11echo $iholiday[1]; 12//2021/10/302021/11/20
以上のPHPコードを、以下のように
foreach構文で書き直しをしました。
しかしエラーでした。
どこが間違えているか分からず
アドバイスを頂ければ幸いです。
また、該当する全ての行が対象なのでfetchallの方が適切なのか?
そして、特定のコラムのみ取得したいので、
FETCH_COLUMNの方が適切でしょうか。
よろしければ合わせて教えて頂けますようよろしくお願い致します。
php
1$iholiday = []; 2$sql = "SELECT Iholiday FROM table3 WHERE Cusid=?"; 3$sth = $dbh -> prepare($sql); 4$array = array('cus_OIGj'); 5$sth -> execute($array); 6$iholiday = $sth->fetch(PDO::FETCH_ASSOC); 7foreach($iholiday as $row){ 8$iholidays = new DateTime($row['Iholiday']); 9$iholiday[] = $iholidays -> format('Y/n/j'); 10} 11echo $iholiday[0]; 12echo $iholiday[1];
php
1Warning: Illegal string offset 'Iholiday' in 2 3Fatal error: Uncaught Exception: DateTime::__construct(): Failed to parse time string (2) at position 0 (2): Unexpected character in : DateTime->__construct('2')
おかげさまで、
以下のコードで解決できました。
php
1$result = $sth->fetchall(PDO::FETCH_ASSOC); 2foreach($result as $row){ 3}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/10/30 02:02
2021/10/30 02:17
退会済みユーザー
2021/10/30 02:25