Mac環境下でphp操作mysqlデータベースの方法を共有します。

8174 ワード

Macローカル環境構築
Macシステムでは、MAMP Proソフトウェアを使ってローカルサーバを構築することができます。このソフトをインストールして、ウェブサイトのディレクトリは/Application/MAMP/httdocsフォルダの中にあります。ファイルをこのフォルダに入れるだけで、http://localhost:8888を通じてアクセスできます。または下記の赤い下線ボタンをクリックして、すばやくサイトにアクセスできます。

macシステムの下でphpをインストールして、2行でいいです。

brew tap josegonzalez/homebrew-php
brew install php54

インストールが終わったら配置してください。phpstomを使って楽しくプログラミングできます。インストールのphpパスは/usr/local/bin/phpです。
データベースの基本操作

1)ユーザのWebブラウザは、HTTP要求を発行し、特定のWebページを要求する。
2)Webサーバは.phpの要求を受けてこのファイルを取得し,PHPエンジンに伝えて処理を要求する。3)PHPエンジン解析スクリプトを開始します。スクリプトにはデータベースに接続するコマンドがあります。クエリーを実行する命令もあります。命
PHPはMYSQLデータベースへの接続を開き、適切なクエリを送信します。
4)MYSQLサーバはデータベースクエリを受信して処理する。結果をPHPエンジンに戻します。
5)PHPはスクリプトをどこで実行しますか?通常、これはクエリ結果をHTML形式にフォーマットすることを含みます。そうです
HTMLを出力してWebサーバに戻ります。
6)WebサーバはHTMLをブラウザに送信します。
MySQL常用データタイプ
整数型:TINNY INT、SMALLINE、INT、BIGINT
浮動小数点タイプ:FLOA T,DOUB LE,DECIMAL(M,D)
キャラクタータイプ:CHAR、VRCHARR
日付タイプ:DA TETIME、DA TE、TIMESTA MP
備考タイプ:TINYTEXT、TEXT、LONGTEXT
MySQLデータベース操作
1)現在のデータベースを表示します。
    >SHOWD ATABASES;
2)必要なデータベースを選択します。
    >USEgust;
3)現在選択されているデータベースを表示します。
    >SELECTDATABASE()
4)一枚の表のすべての内容を確認する。
    >SELECT*FROMgusest//まずSHOWT ABLESを通してもいいです。どれぐらいの時計があるか調べてみます。
5)データベースによる中国語コードの設定
    >SET NAMESgbk//set names utf 8
6)データベースを作成する
    >CREATEDATABASEbook
7)データベースでテーブルを作成します。
    >CREATETABLEusers(
    >username VRCHAR(20)//NOT NULL設定は空にできません。
    >sex CHAR(1)
    >bith DATETIME)
8)表の構造を表示する
    >DESCIREBEusers
9)テーブルにデータを挿入する
   

>INSERT INTO users (username,sex,birth) VALUES('jack','male',NOW());
PHP接続MySQLデータベース
データベースを接続

<?php
  header('COntent-Type:text/html;charset=utf-8');//      ,     gbk  , charset   gbk
  //@       ,    ,    
  //  :     ,      

  echo (!!@mysql_connect('localhost','root','*****'));//1
?> 

私たちは二重感嘆符を使います。を選択してリソースハンドルをブール値に変換し、1を正しく出力します。エラーはエラー情報を出力します。前に@符号を付けたら、エラー情報を無視してエラー情報を出力しません。
エラーメッセージの処理に対して、私達はmysqlを使うことができます。error()関数はエラーメッセージを出力します。
mysqlconnect('local host','root','***')or die('データベース接続失敗,エラー情報:'.mysql_error()///パスワードエラーのヒント:データベース接続失敗、エラー情報:Access denied for user 'root'@'local host'(using password:YES)
die()関数はメッセージを出力し、現在のスクリプトを終了します。この関数はexit()関数の別名です。
データベース接続パラメータは、定数で保存できます。これは任意に変更されず、より安全です。

<meta charset="utf-8">
<?php
  //      
  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//  
  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('       ,    :'.mysql_error());
  echo $connect;//Resource id #2 
?> 
気になるのは、mysql。connect()の括弧の中の定数は引用符をプラスすることができなくて、さもなくば間違いがあります。
指定されたデータベースを選択

<?php
  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//  
  define('DB_NAME','trigkit');// phpmyadmin      trigkit    
  //     
  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('       ,    :'.mysql_error());
  //       
  mysql_select_db(DB_NAME,$connect) or die('       ,    :'.mysql_error());//        ,       :       ,    :Unknown database 'trigkt'
?> 
普段はmysqlを使う必要はありません。close()は、開いている非永続的な接続はスクリプトの実行後に自動的にオフになります。
mysqlselect_.db:MySQLデータベースを選択する。
レコードセットを取得

<meta charset="utf-8">
<?php
  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//  
  define('DB_NAME','trigkit');
  //     
  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('       ,    :'.mysql_error());
  //       
  mysql_select_db(DB_NAME,$connect) or die('       ,    :'.mysql_error());
  //             (     )
  $query = "SELECT * FROM class";// trigkit        ' '
  $result = mysql_query($query) or die('SQL  ,    :'.mysql_error());//       :SQL  ,    :Table 'trigkit.clas' doesn't exist
?> 
mysqlquery()関数はMySQLクエリを実行します。
出力データ

<meta charset="utf-8">
<?php
  define('DB_HOST','localhost');
  define('DB_USER','root');
  define('DB_PWD','345823');//  
  define('DB_NAME','trigkit');
  //     
  $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('       ,    :'.mysql_error());
  //       ,     
  mysql_select_db(DB_NAME,$connect) or die('       ,    :'.mysql_error());
  mysql_query('SET NAMES UTF8') or die('       '.mysql_error());
  //             (     )
  $query = "SELECT * FROM class";
  $result = mysql_query($query) or die('SQL  ,    :'.mysql_error());
  print_r(mysql_fetch_array($result,MYSQL_ASSOC));
?> 
リリース結果セットのリソース(大きな結果セットを返すときにどれぐらいのメモリを使うかを考慮して呼び出す必要があります。)

<?php
  mysql_free_result($result); 
?>

添削して調べる
データを追加

<?php
  require 'index.php';
  //    
  $query = "INSERT INTO CLASS(
       name,
       email,
       point,
       regdate)
    VALUES (
    '  ',
    '[email protected]',
    100,
    NOW()
    )";

  @mysql_query($query) or die('    :'.mysql_error());

?>

上のコードをindex.phpとして保存して、Application/MAMP/httdocs/フォルダに落とします。上のコードをdemo.phpとして保存し、同じディレクトリに入れます。Macシステムはファイルのパスを取得するのが簡単で、ファイルを端末に引き込むだけでパス名が表示されます。
データの変更
修正するデータの名前は明、idは2と仮定し、彼のポイントを80点に修正しました。コードは下記の通りです。

<?php
  require 'index.php';

  //    
  $query = 'UPDATE class SET point=80 WHERE id=2';
  @mysql_query($query);
?>

データを削除

<?php
  require 'index.php';

  //    
  $query = "DELETE FROM class WHERE id=2";
  @mysql_query($query);

  mysql_close();
?>

データを表示

<?php
  require 'index.php';

  //    
  $query = "SELECT id,name,email,regdate FROM class";
  $result = mysql_query($query) or die('sql    :'.mysql_error());

  print_r(mysql_fetch_array($result));
  mysql_close();
?>

または指定値データを表示します。

$data = mysql_fetch_array($result);
echo $data['email'];//  email
echo $data['name'];//  name
その他の常用関数

mysql_fetch_lengths():
mysql_field_name():

mysql _fetch_row():
mysql_fetch_assoc():
mysql_fetch_array(): , ,

mysql_num_rows():
mysql_num_fields():

mysql_get_client_info(): MySQL
mysql_get_host_info(): MySQL
mysql_get_proto_info(): MySQL
mysql_get_server_info(): MySQL

以上述べましたが、本文の内容は全部です。お好きになってください。