-1

わかりました基本的に私たちはデータベースに接続することを理解しています

$conn=mysql_connect($dbhost,$dbuser,$dbpass);

を使用して目的のデータベースを選択します。

mysql_select_db("dbname",$conn)

ここまでは順調ですが、データベースの選択と接続の違いは何ですか?それとも、データベース SERVER に接続してから、利用可能なすべてのデータベースの中から目的の DB を選択するのですか?事前に感謝します。

4

5 に答える 5

4

関数のサポートはなくなりました。mysql_*関数は公式に非推奨になり、メンテナンスされなくなり、将来的に削除される予定です将来のプロジェクトの機能を確実にするために、PDOまたはMySQLiでコードを更新する必要があります。


違いは、データベースサーバーに接続しただけでは、原因に使用するデータベースを選択するまで、テーブルを作成したり、テーブルを選択したりできないことです。

これmysqliも簡単です:

$db = new mysqli($host,$user,$pass,$dbselect);
if($db->connect_error)
        die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
于 2013-06-17T03:04:42.577 に答える
1

mysql_*関数はもはや維持されておらず、公式に廃止されています。赤いボックスが見えますか? プリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事は、どちらを使用するかを決めるのに役立ちます。

mysql_query()指定された link_identifier に関連付けられているサーバー上の現在アクティブなデータベースに一意のクエリを送信します (複数のクエリはサポートされていません)。

のドキュメントmysql_query

mysql_connect()MySQL サーバーへの接続を開くか再利用します。

のドキュメントmysql_connect

于 2013-06-17T03:04:28.790 に答える
0

はい、接続するとは、MySQL のそのインスタンスに対してユーザーとパスワードを認証することを意味します。その後、表示権限のあるすべてのデータベースにアクセスできます。

データベースのみを選択すると、データベース名を修飾せずにテーブルを参照すると、そのデータベースがデフォルトとして使用されます。ただし、任意のデータベースの任意のテーブルにクエリを実行できますdatabasename.tablename

PS: 他の人がコメントしているように、mysql_* 関数は避けるべきです。これらの関数は最近非推奨になったためです。PHP は、より多くの機能を持ち、オブジェクト指向の方法で使用できる、MySQL への他の 2 つのインターフェースを提供します。

于 2013-06-17T03:04:58.223 に答える
0

最初にデータベース ホストに接続してから、DB を選択する必要があります。それ以外の場合、データベース ホストに接続していない場合にデータベースを選択する意味は何ですか?

そして、アドバイスですが、mysql_*関数はもう使用しないでください。代わりに PDO を使用してください。

于 2013-06-17T03:06:31.507 に答える
0

mysql_connect現在のmysql接続で使用するデータベースを選択しながら、データベースではなくデータベースサーバーに接続しますmysql_select_db

MySQL はサーバーです。データベースに「接続」しているだけではありません。関係する他の層があります。最初にサーバーに接続してから、データベースを選択します。

于 2013-06-17T03:04:31.493 に答える