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

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

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

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

Q&A

解決済

2回答

1013閲覧

mysqliのコマンドでMariaDBに接続する方法が分からない

dreamers

総合スコア61

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

0グッド

0クリップ

投稿2021/02/18 16:25

linuxサーバーのターミナル画面からmysqliのコマンドを使って、MariaDBに接続したいです。

mysqlでは

mysql -u root -p

でログインできました。

同じよな方法で、mysqliでMariaDBにログインする方法がわかりません。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/02/18 21:25

PHPの話でないならmysqliはログインコマンドではないです。PHPの機能です。なにをもってmysqliを選択肢にしたのでしょう。
dreamers

2021/02/19 02:06 編集

mysqlコマンドとmysqliの違いがよくわかっていません。 php7以降、LINUXサーバーのターミナル画面ではmysqlコマンドが使えず、mysqliコマンドなるものが代わりにあるんだろうな、という勘違いが始まりでした。 皆様のご投稿により、再考するに、下記のようなものかなと思っている次第です。 ・php7以降であろうが、linuxサーバーのターミナル画面からCLIとして使えるコマンドは、mysqlコマンド(mysql -u root -p などのコマンド)だけで、mysqliコマンドなるものは無い。 ・プログラムの一環として,DB接続するとき、php7以降は、phpの記述として、musqliを使う。 おそらく、こんな理解でいいかな、と思っている次第です。 再度、お尋ねしたいのは、上記の私の理解で正解かどうかです。
m.ts10806

2021/02/19 01:49

質問編集して追記してください。 で、現状の問題点は何ですか?
guest

回答2

0

ベストアンサー

端的に指摘すると下記。

  • mysqlコマンドは「LinuxなどOSで実行するコマンド」

MySQLもしくはMariaDBに対してログインします

  • mysql、mysqliは「PHPの機能」 

PHP内でMySQLもしくはMariaDBに対して接続を確立し、処理を行わせます(APIと言ってもいいかもしれない)

目的、階層が違う話になります。

php7以降は、phpの記述として、musqliを使う。

PDOのほうが主流で、情報も多いと思います。
PHPでデータベースに接続するときのまとめのように多くの評価を集める記事もあります。
mysqliはMySQLもしくはMariaDBのみの機能ですしね。

投稿2021/02/19 02:16

編集2021/02/19 02:19
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

dreamersさん、こんばんは。

結論から申し上げますと、MySQLiはコマンドではなくPHPの拡張機能です。

※私が調査いたしましたところ、mysqliというLinuxのコマンドは見つかりませんでした。代わりに見つかったのはPHPの拡張機能でしたので、以降はPHPの拡張機能についてお話します。
(2021/02/19 08:04追記)

そのため、Linuxサーバのターミナル画面からmysqliコマンド機能を使ってMariaDBに接続するなら、.phpファイルにmysqliを用いるコードを書いて実行する必要があります。

具体的には下記のコードで接続できるはずです。コードは、mysqliを使ってMySQL/MariaDBのデータベースへ接続の内容を利用しています。

php

1<?php 2 $hostname = 'localhost'; 3 $username = 'root'; 4 $password = ''; // ここにパスワードを入れる 5 $db_name = ''; // ここに利用するDBの名前を入れる 6 7 // DBに接続 8 $mysqli = new mysqli($hostname, $username, $password, $db_name); 9 10 // エラーハンドリング 11 if ($mysqli->connect_errno) { 12 echo $mysqli->connect_errno . ' : ' . $mysqli->connect_error; 13 return; 14 ) 15 16 // SQLクエリの実行(SELECT * FROM test_table) 17 $all_records_in_test_table = $mysqli->query("SELECT * FROM test_table"); 18 19 // DBとの接続解除 20 $mysqli->close(); 21?>

動かなかったら言ってください。
よろしくお願いいたします。

投稿2021/02/18 17:31

編集2021/02/18 23:04
task4233

総合スコア106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/02/18 21:33

>linuxサーバーのターミナル画面から とあるのでPHPのコードは関係なさそうに思います。
task4233

2021/02/18 22:21

m.ts10806さん コメントありがとうございます。 僕もそう思ったのですが、Linuxサーバでmysqliコマンドというものを聞いたことがなかった上に、調べてみてもそのようなコマンドが見つかりませんでした。 そのため、出題者様が何か勘違いしていると考え、このような回答をいたしました。 もし仮にそのようなLinuxコマンドがあれば、man pageかhelpがあると思いますので、提示していただきたく思います。 よろしくお願いいたします。
m.ts10806

2021/02/18 22:55 編集

いえ、現在の質問内容ではアドバイスの方向性は決まりません。「mysqliをどこで使いたいか」の前に「MariaDBにどこで繋いで使いたいか」を聞く必要があります。 PHPの話が少しでもあるのなら、その話が質問に一切出ていないのは不自然と思いますし、質問者に思い込みの部分があるならその認識を正さないことには答えるのは難しい内容です。 この回答は「mysqliを使いたいならPHPの機能なのでPHPで書いてね」という前提が明記されているので間違いではないですが、質問の方向性と合致するかはまだ分かりません。
task4233

2021/02/18 23:04

m.ts10806さん、ご指摘ありがとうございます。 > PHPの話が少しでもあるのなら、その話が質問に一切出ていないのは不自然と思いますし、質問者に思い込みの部分があるならその認識を正さないことには答えるのは難しい内容です。 この認識を正す、という部分を軽視していたように思うので、そちらの内容を追記いたしました。ありがとうございます。
dreamers

2021/02/19 02:07 編集

m.ts10806様、task4233様、お忙しいところ、貴重なご指摘、ご投稿をありがとうございます。 お恥ずかしながら、m.ts10806様のご質問に記述したように、php7以降のmysqlとmysqliの関係を大きく勘違いしていたようです。 ・php7以降であろうが、linuxサーバーのターミナル画面からCLIとして使えるコマンドは、mysqlコマンド(mysql -u root -p などのコマンド)だけで、mysqliコマンドなるものは無い。 ・mysqliが顔を出すのは、php7以降、phpプログラムの記述で,DB接続も含めてDB操作するときだけ。 おそらく、こんな理解でいいかな、と思っている次第です。 皆様には、大変、貴重なお時間を割いていただき、誠にありがとうございました。 (さんざん、ネットでも調べましたが、CLIコマンドとしての、mysqlコマンドは永遠に生き続けていること、php記述としてのmysqlは廃止になり、mysqliに変わったことを併記、明示しているサイトが無かったように思えます、、常識だからなのでしょうね、、)
task4233

2021/02/20 05:01

解決したのであれば良かったです????
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問