MySQL
- PHPからCSVをアップロードしてmysqlに登録
質問をお願いします。 PHPからCSVをアップロードして、同時にmysqlに登録しようと思っていますが、 うまくいきません。データーベースに接続しているのですが、 テーブルを指定しても、うまくいかなく困っています。 現在、下記のプログラムはテーブルを指定していません。 テーブル指定して作成方法を教えていただければ助かります。 PHPが詳しい方、よろしくお願いします。 <?php while (($data = fgetcsv($file)) !== false) { // $data 配列の各要素にアクセスし、適切な変数に代入 // 例: $data[0] は1列目のデータ、$data[1] は2列目のデータ $column1 = $data[0]; $column2 = $data[1]; // 他の列も同様に // INSERT文を準備 $stmt = $pdo->prepare("INSERT INTO テーブル (column1, column2) VALUES (:column1, :column2)"); $stmt->bindParam(':column1', $column1); $stmt->bindParam(':column2', $column2); // 他の列も同様にバインド // SQLを実行 $stmt->execute(); } fclose($file); ?>
- SQL おしえてくんさい
◆item_tbl item_id | shop_id ◆shop_tbl shop_id | status_flag (1:通常 2:潰れた) といったテーブルがあった場合に、item_tbl.shop_id はNULLの場合もある(店舗と紐づいていない場合もある)とします。 潰れた店舗の商品以外、つまりは「潰れてない店舗の商品」と「店舗と紐づいていない商品」のitem_idを取得したい場合のSQLを教えてください。
- ベストアンサー
- muuming2001
- MySQL
- 回答数2
- mysqlへの転送NG?
register.html <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Member Registration</title> </head> <body> <form id="registrationForm" action="/register" method="POST" enctype="multipart/form-data"> <label for="nickname">Nickname:</label><br> <input type="text" id="nickname" name="nickname" maxlength="20"><br> <label for="gender">Gender:</label><br> <select id="gender" name="gender"> <option value="Male">Male</option> <option value="Female">Female</option> </select><br> <label for="mail">Email:</label><br> <input type="email" id="mail" name="mail" maxlength="250"><br> <label for="prefecture">Prefecture:</label><br> <input type="text" id="prefecture" name="prefecture" maxlength="20"><br> <label for="city">City:</label><br> <input type="text" id="city" name="city" maxlength="255"><br> <label for="photo">Photo:</label><br> <input type="file" id="photo" name="photo"><br> <label for="selfintroduction">SelfIntroduction:</label><br> <textarea id="selfintroduction" name="selfintroduction"></textarea><br> <input type="submit" value="Register"> </form> <script> const form = document.getElementById('registrationForm'); form.addEventListener('submit', function(event) { let cancelSubmit = false; const inputs = form.querySelectorAll('input, select, textarea'); inputs.forEach(function(input) { if (input.value.trim() === '') { alert('Please fill in all fields'); cancelSubmit = true; event.preventDefault(); return false; } }); if (!cancelSubmit) { return true; } }); </script> </body> </html> script.js // httpモジュールとmysqlモジュールをインポート const http = require('http'); const mysql = require('mysql'); // HTTPサーバーを作成し、リクエストを処理するためのコールバック関数を定義 const server = http.createServer((req, res) => { // POSTメソッドかつURLが '/register' の場合に処理を実行 if (req.method === 'POST' && req.url === '/register') { let body = ''; // リクエストデータを受け取る req.on('data', chunk => { body += chunk.toString(); }); // リクエストデータの受け取りが完了したら処理を実行 req.on('end', () => { // 受け取ったデータを処理する const formData = new URLSearchParams(body); const nickname = formData.get('nickname'); const gender = formData.get('gender'); const mail = formData.get('mail'); const prefecture = formData.get('prefecture'); const city = formData.get('city'); const photo = formData.get('photo'); const selfIntroduction = formData.get('selfintroduction'); // MySQLデータベースに接続するための設定 const connection = mysql.createConnection({ host: 'localhost', user: 'root', // MySQLのユーザー名 password: 'rhythm0!KT#$9V', // MySQLのパスワード database: 'membership_db' // MySQLのデータベース名 }); // MySQLデータベースに接続 connection.connect((err) => { if (err) { // MySQLへの接続エラーをコンソールに出力して処理を終了 console.error('Error connecting to MySQL: ' + err.stack); return; } // MySQLに正常に接続された場合、ログに接続したスレッドIDを出力 console.log('Connected to MySQL as id ' + connection.threadId); // フォームデータをMySQLに挿入するクエリを作成 const sql = `INSERT INTO members (nickname, gender, mail, prefecture, city, photo, selfintroduction, date) VALUES (?, ?, ?, ?, ?, ?, ?, NOW())`; const values = [nickname, gender, mail, prefecture, city, photo, selfIntroduction]; // クエリを実行して結果を処理 connection.query(sql, values, (err, result) => { if (err) { // クエリ実行中にエラーが発生した場合、エラーメッセージをコンソールに出力 console.error('Error inserting data into MySQL: ' + err.stack); /
- mysql GUIで
いつもお世話になっております。 標記の件。 mysql GUIで操作したいです。 myphpadminなど。 Windows11で行っています。 どうぞよろしくお願い申し上げます。
- Excel ファイルをCSV ファイルに変換できな
お世話になります。 データベースにデータを入力するためにコマンドプロンプトからCSVファイルを load data infile コマンドを使ってやりたいと考えています。 Excelで作成した、日本語の入ったファイルをCSVファイルに変換しようとしていますが、添付のスクリーンショットのエラーメッセージが出てきて、うまくいきません。私はカナダ在住者で、英語版のWindows 10を使っているためメッセージは英語になっていますが、指定したファイルにはCSV形式とは互換性のない特性が含まれているとのこと。このファイルフォーマットを保持しますか?という質問の後に、3つの選択肢が表示されています。 2:このフォーマットを保持してCSV形式とは互換性のない特性を除外するならYESボタンを 2:CSV形式とは互換性のない特性を保持したいならNoボタンを押して、最新のExcelでセーブする 3:どんな特性が失われるのかを見るにはHELPボタンを HELPボタンを押してみたら私の使っているExcel2007は引退したとのことで、UPDATEを促してきました。 新しいExcelにバージョンアップするしか方法はないのでしょうか? 私のやった操作と、最後に出てきたエラーメッセージのスクリーンショットを添付します。 どなたかお知恵をお貸しください。お願いします。
- ベストアンサー
- papashiroSooke
- MySQL
- 回答数3
- MySQLが起動しなくなりました。
C:\xampp\mysql\bin>mysql -u root -p Enter password: ERROR 2002 (HY000): Can't connect to MySQL server on 'localhost' (10061) パスワード設定はしていません。使用できていたのに急に使用できなくなりました。 ZAMPPのアプリをアンインストールして再度インストールも何度もくりかえしましたが、回復できません。どうしたら起動するのでしょうか
- ベストアンサー
- mcaymic0405
- MySQL
- 回答数1
- レコードの文字列をフィールド抽出のクエリとして指定
レコードの文字列として リンゴ ミカン イチゴ となっていたときに、この3つを別のテーブルにあるフィールド名のリンゴ、ミカン、イチゴのみを抽出するクエリをVBAで指定できますか?
- データベースに関する質問
データベース(mysql)で以下の処理を行うには、どんなアルゴリズムを使えば良いでしょうか。 データ 駅名 コード 品川 A1 京急蒲田 A11 羽田空港 B7 京急川崎 A14 横浜 A25 このデータベースで、「京急蒲田」を入力すると、「京急川崎」(コードが「欠番を除く次の番号」)が出力されるようにしたい。 並べ替えをしてもOKです。
- 締切済み
- NKM_Chitose
- MySQL
- 回答数1
- PHPを使って横型のスケジュール管理表を作りたい
PHPとmySQLを利用して、横型のスケジュール管理表を作成したいと思っています。横型というのは、1日~月末までが横にずらっと並んでいて、その下に曜日が入っており、その下には人の名前がそれぞれ入ります。それぞれの人の名前の横には日付に対応した予定が入るようにしたいのです。各人の予定は「何日~何日まで出勤」「何日~何日まで東京」というような大まかなスケジュールだけを管理したいと思っており、それらが日をまたぐ場合、tableのtdタグをまとめて、真ん中にdbから持ってきた予定を書き込みたいと思っています。しかし、ネットを探すも全く同じようなものはなく、自分でも全く案が思い浮かびません。どうかお力をお貸しいただけないでしょうか。難しいコードでもネットを駆使して自分なりに調べようと思いますので、どんなものでも書いていただければ助かります。それともこういったことができない(不可能)という場合、それらも教えていただければと思います。目指したいのは以下のようなページです。 2023年10月 -------------------------------------- 1 2 3 4 5 6 7 8 9 10 11 ~・・・31 -------------------------------------- 日月火水木金土日~・・・・日 -------------------------------------- 鈴木 | 出張(東京)|出勤| 木村 |出張(熊本| 休暇 | ↑ 日を跨いだ予定でも、動的にセルが結合される。
- 締切済み
- kkkeeennn63
- MySQL
- 回答数2
- Xampp のMySQLが立ち上がらない
御世話になります。 XamppでMySQLが立ち上がらなくて困っています。 前日までは良かったのですが、Windowsのアップデートを実行した後、立ち上がらなくなりました。 Skypeを使っているのでポートの衝突の問題かと思って、以前やったことがあるようにSkypeのツールでポート80の使用を禁止しようとしたのですが、新しくなったSkypeにはそのようなメニューは見つけられず、思い切ってSkypeをアンインストールしました。それでPCを再起動しましたが、それでも立ち上がりません。 コマンドプロンプトからも以下のコマンドを実行しましたが、効果ありませんでした。 mysqladmin -h 'localhost' --port=3306 自分にはこれ以上出来る事は思いつきません。 どうすればMySQL を使えるように出来るのでしょうか? 詳しい方、どうかお知恵をお貸しください。 宜しくお願いいたします。
- ベストアンサー
- papashiroSooke
- MySQL
- 回答数2
- MariaDBでのNULLの扱い方
お世話になります。 MariaDBで作ってあるあるテーブルのひとつのフィールド "batch" にデータが入ってないために、コマンドプロンプト画面で見ると"NULL"と表示されています。添付したスクリーンショットの通りです。 ところがこれを select * from calreport where batch=NULL というコマンドを入れても empty set と表示されて、"batch" フィールドが NULL の物が表示されません。 NULL という値はどのように検出すればよいのでしょうか? 正しい select 文の書き方を教えてください。 よろしくお願いいたします。
- ベストアンサー
- papashiroSooke
- MySQL
- 回答数1
- MySQLでtypeがALLを変更したい
恐れ入ります。 データ量が増えてしまい、適切なインデックスを作成するということで、EXPLAINでselect文を見ると、typeがALLとなって全文検索になっているとのことでした。このtypeを適切なものに変更したいのですが、どのようにしたらよいでしょうか。ご教授いただけたら有難いです。 よろしくお願いいたします。
- mysqlのドライバが見つからないについて
cakephp1.3バージョンを使っています。 mysqliで接続しています。 エラーメッセージです。 --------------------------------- Fatal Error (256): DboMysql - Selected driver is not enabled [CORE\cake\libs\model\datasources\dbo_source.php, line 139] ----------------------------- ソースコードの該当箇所です。 function __construct($config = null, $autoConnect = true) { if (!isset($config['prefix'])) { $config['prefix'] = ''; } parent::__construct($config); $this->fullDebug = Configure::read() > 1; if (!$this->enabled()) { trigger_error(sprintf(__('%s - Selected driver is not enabled', true), get_class($this)), E_USER_ERROR); return false; } if ($autoConnect) { return $this->connect(); } else { return true; } } ---------------------------- 試したことphp.iniファイルのコメントアウトを外しました。 以下の場所です。 extension=php_pdo.dll extension=php_pdo_mysql.dll ----------------- apacheも再起動しました。 でも、 DboMysql - 選択したドライバーが有効になっていません と表示されます。 mysqliで接続したいです。 ご教授よろしくお願いします。
- MySQL 検索結果のファイル保存と行数値入手
MySQL での検索結果をファイル保存し、かつ検索データ数(行数値)を入手する事を実現するのが目標です。 検索結果をファイル保存、及び、検索データ数(行数値)の入手は単独ではできるのですが、2つを同時に実現する事ができていません。 本件について、アドバイスをお願いしたく、よろしくお願いいたします。 <実際にやった事> PHPで MySQL のデータベースに接続 → 成功 $link = mysqli_connect($domain,$user,$password,$dbname); テーブルの作成とテーブルへのデータ追加も mysqli_query( )を使って成功。 ← 括弧内には必要なパラメータを入れて実行しています。 また、テーブル名は my_database としています。 ここからが困っている点です。 mysql からのデータの内容とデータの行数を取り出しすために、以下の内容を実行する時、 $res = mysqli_query($link, $sql); $row_count = mysqli_num_rows($res); (1) $sql が 「SELECT * FROM my_database」という文字列ならば、 $row_count には正常に行数値が戻ってくる。 また、テーブルの内容も正常に表示される。 (2) $sql が 「SELECT * FROM my_database INTO OUTFILE "output.csv"」というにファイル出力にすると、 mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given in (ファイル名) というようなエラーメッセージが出て、データの行数値が取り出せない。そこで、$res について調査すると、 var_dump($res); → bool(true) print_r($res); → 1 という値になっている。 このため、前述のエラーメッセージが出力されるものと思われます。 ただし、この場合でも output.csv は正常に出力されています。 ネット情報を調べて見ると、エラーメッセージが出るのは上記 (2) の SELECT 文の構文に問題がある、との情報でしたが、実際にファイル出力は正常なので構文に問題あるとは、私には良く理解できていません。 ちなみに、サーバーは Centos7 系の自宅 Linux マシンで、PHP は Ver 7.4.6 、MySQL は Ver 8.0.30 です。
- ベストアンサー
- kmsakutomo
- MySQL
- 回答数6
- php myadminで昔のバックアップファイル
WordPressで2年前くらいに「All-in-One WP Migration」にてバックアップファイルを作成したことがあります。 現在はそのダウンロードしたバックアップファイルもなく、「All-in-One WP Migration」も削除しております。 不具合が起きて一旦WordPress及びデータベースを削除し新規にインストールしましたが昔のバックアップファイルがphp myadminからダウンロードできるかもしれないと聞きました。 こんなことは可能なのでしょうか? どうぞ宜しくお願い致します。
- ベストアンサー
- toshisan02
- MySQL
- 回答数3
- SQLの数値への単位について
現在SQLをpaizaにて実行してるのですが ・highにcm wightにkgの単位の付け方 ・UPDATE DELETEが上手く実行されない の二点の修正方法が分からず、どなたか教えて頂けないでしょうか? 「ソースコード」 create table employees(height integer, weight integer); INSERT INTO employees(height, weight) VALUES(170, 50); INSERT INTO employees(height, weight) VALUES(180, 90); INSERT INTO employees(height, weight) VALUES(165, 70); SELECT height FROM employees; SELECT height AS tall FROM employees; UPDATE employees SET height ='171' WHERE weight ='170'; DELETE FROM employees WHERE height ='180'; 「実行結果」 height 170 180 165 tall 170 180 165
- ベストアンサー
- asai555666
- MySQL
- 回答数1
- Xampp のbinary mode?
御世話になります。 Xampp 32 bit をWindows 7 のラップトップにインストールして使い始めましたが、別のデスクトップのPCからのMysql データベースを移植しようとしましたが、エラーが出ました。 解決方法が全く分からないため、ご存知の方にお聞きしたいと思い投稿しました。 私のMysql コマンドラインでの入力とMysqlからの結果は以下の通りです。 # mysql -u root -p karaoke<c:/temp/db/db.sql password: ******* Error: ASCII '\0' appeared in the statementbut this is not allowed unlessoption --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if SCII '\0' is expected. Query: ''. 私が入力したパスワードは rsi2018 で 0 が入っているのですが、この0(ゼロ)が問題でしょうか? パスワードの設定は上手く行ったと思いますし、このパスワードでMariDBにちゃんと入ることが出来ています。 エラーメッセージではbinary mode というものを1に設定しなくてはならいようですが、それは何処でどんな風にするのでしょうか? 何かの設定ファイルを書き換えるのでしょうか?そうだとすると、それは何処にある何というファイルなのでしょうか? また、デスクトップのPC(Windows 10)で作ったオリジナルのデータベースは Xampp 64bit でしたが、これも何か関係あるでしょうか? 詳しい方、教えて頂きたく、よろしくお願いいたします。
- ベストアンサー
- papashiroSooke
- MySQL
- 回答数3
- MySQL文字化け問題
御世話になります。 Mysql とPHPを使って、ハードディスクにあるカラオケの曲を番号で選択して演奏するプログラムを作りました。ハードディスク内のパスに含まれる一意の番号、曲名、歌手名などを抽出してデータベースを作り、番号を入力すると曲が始まります。基本的にはこれで完成しているのですが、パスの構成に一貫性が無く、曲名と歌手名を正しく分離できていません。後々の利用の可能性も考えて、ちゃんとした曲名と歌手名にするために修正用のルーチンを作りました。ところがこのルーチンでデータを修正してテーブルに書き込み、確認のために修正したものを表示させると文字化けが起こります。 添付しましたスクリーンショットの上のものは、左の入力欄に表示した現在の値をコピペやキーボードなどから右の入力欄に入れ、そのあと送信ボタンを押して下部のフレームで処理したものです。 真ん中の写真は、訂正がちゃんとできたかを確認するために同じデータを左右両側に表示させたものですが、ここで文字が化けています。 Mysqlのプロンプト画面で表示させたのが一番下のもので、ここでも化けた文字になっています。 この文字化けを防ぐ方法を教えて頂けると、大変ありがたく思います。 使っているソフトや環境は以下の通りです。 OS:Windors 10 Mysql(MariaDB), PHP7 はXampp 7-4-7 から どうぞよろしくお願いいたします。
- ベストアンサー
- papashiroSooke
- MySQL
- 回答数5
- MySQLで0以外をユニークにする制約をかけたい
MySQLで主キーのidの他にfoofoo_idというint型カラムがあります。 このfoofoo_idを0以外をユニークしたいのですが可能でしょうか? MySQLのバージョンは8.0.21です。 検索をかけたところNULL以外をユニークにするという記事を見つけたので、下記のようにNULLではなく0にしてみましたが、そもそもWHEREの部分がダメのようで通りませんでした。 CREATE UNIQUE INDEX uq_foofoo_id ON `hogehoge`.`sample`(foofoo_id) WHERE foofoo_id IS NOT '0' ;
- ベストアンサー
- TeijigoTeatime
- MySQL
- 回答数1