質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

解決済

mb_convert_encording\(\)でcsvに変換しようとするとFatal errorになる

study_m
study_m

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1回答

0評価

0クリップ

1340閲覧

投稿2017/05/09 09:15

###前提・実現したいこと
ここに質問したいことを詳細に書いてください
PHP・MySQLでショッピングサイトを作っています。
取得したデータをcsvに変換しようとしたところ以下のエラーメッセージが発生しました。
どう対策すればいいでしょうか。困っています。

###発生している問題・エラーメッセージ

Fatal error: Call to undefined function mb_convert_encording\(\) in C:\\xampp\\htdocs\\order\\order_download_done\.php on line 117

###該当のソースコード

<\?php if\(!isset\(\$_SESSION\)\){ session_start\(\); session_regenerate_id\(true\); } //もしログイン情報が保存されてなかったら if\(isset\(\$_SESSION\['login'\]\)==false\){ print "ログインされていません<br />"; print '<a href="\.\./staff_login/staff_login\.html">ログイン画面へ</a>'; exit\(\); } else{ print \$_SESSION\['staff_name'\]; print "さんログイン中<br />"; print '<br />'; } \?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>ろくまる農園</title> </head> <body> <\?php //tyr~catch・・・エラートラップ命令文 try{ \$year =\$_POST\['year'\]; \$month =\$_POST\['month'\]; \$day =\$_POST\['day'\]; //■DBにSQL文で命令する \$dsn ='mysql:dbname=shop;host=localhost;charset=utf8'; \$user ='root'; \$password=''; \$dbh =new PDO\(\$dsn,\$user,\$password\); \$dbh->setAttribute\(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION\); //「mst_staff」テーブルの「name」カラムのデータ(スタッフ名)とスタッフコードをすべて\(1\)ください \$sql=' SELECT dat_sales\.code, dat_sales\.date, dat_sales\.code_member, dat_sales\.name AS dat_sales_name, dat_sales\.email, dat_sales\.yuubin1, dat_sales\.yuubin2, dat_sales\.address, dat_sales\.tel, dat_sales_product\.code_product, mst_product\.name AS mst_product_name, dat_sales_product\.price, dat_sales_product\.quantity FROM dat_sales,dat_sales_product,mst_product WHERE dat_sales\.code=dat_sales_product\.code_sales AND dat_sales_product\.code_product=mst_product\.code AND substr\(dat_sales\.date,1,4\)=\? AND substr\(dat_sales\.date,6,2\)=\? AND substr\(dat_sales\.date,9,2\)=\? '; \$stmt=\$dbh->prepare\(\$sql\); \$data\[\] =\$year; \$data\[\] =\$month; \$data\[\] =\$day; \$stmt->execute\(\$data\); //■DBとのアクセスを切断する \$dbh=null; //列のタイトル \$csv='注文コード,注文日時,会員番号,お名前,メール,郵便番号,住所,TEL,商品コード,商品名,価格,数量'; \$csv\.="\\n"; //while\(\$rec=\$stmt->fetch\(PDO::FETCH_ASSOC\)\){ while\(true\){ \$rec=\$stmt->fetch\(PDO::FETCH_ASSOC\); if\(\$rec==false\) { break; } \$csv\.=\$rec\['code'\]; \$csv\.=','; \$csv\.=\$rec\['date'\]; \$csv\.=','; \$csv\.=\$rec\['code_member'\]; \$csv\.=','; \$csv\.=\$rec\['dat_sales_name'\]; \$csv\.=','; \$csv\.=\$rec\['email'\]; \$csv\.=','; \$csv\.=\$rec\['yuubin1'\]\.'-'\.\$rec\['yuubin2'\]; \$csv\.=','; \$csv\.=\$rec\['address'\]; \$csv\.=','; \$csv\.=\$rec\['tel'\]; \$csv\.=','; \$csv\.=\$rec\['code_product'\]; \$csv\.=','; \$csv\.=\$rec\['mst_product_name'\]; \$csv\.=','; \$csv\.=\$rec\['price'\]; \$csv\.=','; \$csv\.=\$rec\['quantity'\]; \$csv\.="\\n"; } print nl2br\(\$csv\); \$file=fopen\('\./chumon\.csv','w'\); \$csv=mb_convert_encording\(\$csv,'SJIS','UTF-8'\); fputs\(\$file,\$csv\); fclose\(\$file\); //■データベースがダウンしているときに動くプログラム }catch\(Exception \$e\){ print "ただいま障害によりサーバーに接続できません。大変ご迷惑をおかけしています。"; exit\(\); } \?> <a href="\./chumon\.csv">注文データのダウンロード</a> <br /><br /> <a href="order_download\.php">日付選択へ</a> <br /><br /> <a href="\.\./staff_login/staff_top\.php">TOPメニューへ</a> <br /><br /> </body> </html>

###試したこと
php.iniの設定の確認(;extension=php_mbstring.dll のコロンは削除されている)

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。