質問編集履歴

1

解決したコードを追記

2016/10/30 04:47

投稿

tuckQ
tuckQ

スコア64

test CHANGED
File without changes
test CHANGED
@@ -34,11 +34,7 @@
34
34
 
35
35
 
36
36
 
37
- ```
38
-
39
- Notice: Undefined offset: 0 in hoge.php on line 100
37
+ `Notice: Undefined offset: 0 in hoge.php on line 100`
40
-
41
- ```
42
38
 
43
39
 
44
40
 
@@ -76,6 +72,8 @@
76
72
 
77
73
 
78
74
 
75
+ ```
76
+
79
77
  array (size=1)
80
78
 
81
79
  0 =>
@@ -84,6 +82,84 @@
84
82
 
85
83
  'treki' => string '20' (length=2)
86
84
 
85
+ ```
86
+
87
87
 
88
88
 
89
89
  考えられる原因のご教示よろしくお願いいたします。
90
+
91
+
92
+
93
+ ###追伸(この件は下記コードで解決しました。解決に至るまでに試したコードも記述しましたのでご参考ください。)
94
+
95
+ (1)ARRAY_Aを削除
96
+
97
+ ```php
98
+
99
+ $results = $wpdb->get_results( "SELECT treki FROM wp_review_meta WHERE review_id = $comment_ID" );
100
+
101
+ $treki = $results[0]['treki'];
102
+
103
+
104
+
105
+ if ( $treki ) { $return .= '(' . $treki . ')'; }
106
+
107
+ return $return;
108
+
109
+ ```
110
+
111
+
112
+
113
+ **結果** `Fatal error: Cannot use object of type stdClass as array in`
114
+
115
+
116
+
117
+ ---
118
+
119
+
120
+
121
+ (2) ARRAY_Nに変更
122
+
123
+ ```php
124
+
125
+ $results = $wpdb->get_results( "SELECT treki FROM wp_review_meta WHERE review_id = $comment_ID", ARRAY_N );
126
+
127
+ $treki = $results[0]['treki'];
128
+
129
+
130
+
131
+ if ( $treki ) { $return .= '(' . $treki . ')'; }
132
+
133
+ return $return;
134
+
135
+ ```
136
+
137
+
138
+
139
+ **結果** `Notice: Undefined offset: 0 in`
140
+
141
+
142
+
143
+ ---
144
+
145
+ (3) ARRAY_Aに戻し、SQL文を下記に変更。
146
+
147
+ ```php
148
+
149
+ $results = $wpdb->get_results( "SELECT * FROM wp_review_meta WHERE review_id = $comment_ID", ARRAY_A );
150
+
151
+
152
+
153
+ if ( $results ) { $return .= '(' . $results[0]['treki'] . ')'; }
154
+
155
+ return $return;
156
+
157
+ ```
158
+
159
+ **結果** `解決`
160
+
161
+
162
+
163
+ ###追伸
164
+
165
+ 「なぜ最初のコードでうまくいかないのか?」が未だに分からないので、お分かりになる方がいらっしゃったら解説いただけるとありがたいです。