PHPを使って、MySQLのテーブルから、フィールド名を取得したいと考えています。
lang
1$dsn = "mysqli:// … : … / … "; 2$db = DB::connect($dsn); 3$db -> query('SET NAMES utf8'); 4 5$rs = $db -> query("SELECT * FROM テーブル名"); 6$numFields = mysql_num_fields($rs); 7$nameFields = array(); 8for($i = 0 ; $i<$ numFields; $i++){ 9 $nameFields[] = mysql_field_name($res, $i); 10}
上記のコードを記述して、フィールドの数を取得した上で、forを回して、
フィールド名を取得しようと考えました。
しかし、mysql_num_fieldsの時点で、
Warning: mysql_num_fields() expects parameter 1 to be resource
というエラーが出て、フィールド数すら分かりませんでした。
「$db -> query('SET NAMES utf8');」より上の所には、問題がないと思います。
「while($row=$rs->fetchRow(DB_FETCHMODE_ASSOC)){}」でテーブルのデータを取ってくることができるからです。
なお、そもそも、テーブルのフィールド名を取得しようとしたのは、inputに入力された大量(50件ぐらい)のデータをajaxでMySqlに入れたいのですが、フィールド名を一つ一つ記述して送信データを作るよりも、スマートな方法がないかと思ったためです。
お手数をお掛けしますが、どこが間違っているのか、ご教示頂ければ幸いです。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。