ホームページ  >  記事  >  バックエンド開発  >  PHPでMySQLデータベースを操作する詳細解説(1)

PHPでMySQLデータベースを操作する詳細解説(1)

黄舟
黄舟オリジナル
2017-03-25 09:41:002364ブラウズ


1. PHP は MySQL サーバーに接続します

mysql_connect()

基本構文

  • 説明: PHP MySQL サーバー SQL Server に接続します

  • 構文: resource $link = mysql_connect($hostname, $username, $password)

  • パラメータ:

    • $hostname: MySQL サーバーのドメイン名または IP アドレスです。また、ポート番号 (3306) を追加します。例: localhost:3306

    • $username: は、MySQL サーバーのユーザー名です。例: root

    • $password: MySQL サーバーのユーザー パスワードです。

  • 戻り値: 実行が成功すると、リソース識別子が返されます。実行が失敗した場合は、FALSE を返します

特定の操作

<?php

ini_set(display_errors, 1); //设置错误为:显示

//0.数据库配置信息
$db_host = &#39;loca1lhost&#39;;
$db_user = &#39;root&#39;;
$db_pwd = &#39;yeoman&#39;;

//1.PHP连接MySQL服务器
$link = @mysql_connect($db_host, $db_user, $db_pwd); //@用于屏蔽系统错误

//如果连接失败,则输出错误信息,并中止程序运行
if(!$link){
    echo "PHP连接MySQL失败!".mysql_error();
    exit(); //中止程序继续向下运行
}

?>

MySQL サーバーの接続が失敗し、mysql_connect() の前に @ 文字が追加されていない場合は、システム エラーが報告されます。以下を参照してください。エラー メッセージには多くのユーザー情報が含まれており、安全ですが 良くありません。 @ シンボルを使用して、このシステム エラーをブロックし、セキュリティを向上させます。

Warning: mysql_connect() [<a href=&#39;function.mysql-connect&#39;>function.mysql-connect</a>]: 
Unknown MySQL server host &#39;local1host&#39; (0) in /Applications/MAMP/htdocs/php_test/php_mysql.php on line 17

その他の関数とシンボル

exit()

  • 説明: プロンプトメッセージを出力し、スクリプトの実行継続を停止します。

  • 構文: void exit([$msg])

  • パラメータ: $msg はオプションです。省略した場合、スクリプトのみが中止されます。

  • 例: exit("PHP connection error")

mysql_error()

  • 説明: 最後の MySQL 実行が失敗したときのテキスト エラー メッセージを返します。

  • 構文: mysql_error()

シールドシステムエラー@

  • 説明: @はさまざまな関数呼び出しエラーをマスクするか、ファイルを含めることができますエラーがありますが、それはできません関数定義またはクラス定義の前に使用されます。

2. MySQL データベースを選択します

mysql_select_db()

構文

  • 説明: 現在操作するデータベースを選択します

  • 構文: bool mysql_select_db ( string $database_name [, resource $link ] )

  • パラメータ:


    • $database_name: 選択するデータベースの名前を指定します。

    • $link: オプション。現在アクティブな接続を指定します。省略した場合、最後に開かれたアクティブな接続

      が使用されます。

    • 戻り値: データベースの選択が成功した場合、
  • TRUE

    が返されます。データベースの選択に失敗した場合は、FALSEを返します。

操作

<?php

//0.数据库配置信息
$db_name = &#39;yeoman92&#39;;

//2.选择当前数据库
if(!mysql_select_db($db_name, $link)){
    echo "选择数据库{$db_name}失败!".mysql_error();
    exit();
}

?>

3. MySQLから返されるデータを設定します

文字セット MySQLサーバーにリクエストを送信するか、リクエスト結果のデータを返します

文字セット

//3.设置MySQL返回的数据字符集
mysql_query(“set names utf8”);

4. MySQL ステートメントを実行します

mysql_query()

構文

クエリ
  • 構文: resource mysql_query (string $query [, resource $link])

  • パラメータ:


  • レコードの追加: $query = "INSERT INTO news(title,content) VALUES('title ' , 'content')"
    • レコードの削除: $query = "ニュース WHERE id=10 から削除"

    • レコードの変更: $query = "ニュースを更新 SET title = '新しいタイトル' 、content = '新しいコンテンツ' WHERE id=80"

    • クエリレコード: $query = "SELECT * FROM news WHERE id

    • $query:指要发送的SQL语句。

    • $link:可选项。指上一次打开的活动连接。

  • 返回值:

    • 结果集也是一个资源标识符,是到MySQL数据的一个引用地址

    • 如果执行SELECT、SHOW、DESCRIBE命令,成功时返回结果集,失败时返回FALSE。

    • 如果执行其它的SQL语句,执行成功返回TRUE,执行失败返回FALSE。

  • 举例:

    • $result = mysql_query(“SELECT * FROM news WHERE id<100”)

    • $result = mysql_query(“DELETE * FROM news WHERE id=100”)

操作

//4.执行SQL查询:向MySQL服务器发出查询的请求$
sql = &#39;SELECT * FROM 007_news WHERE id<100&#39;;
$result = mysql_query($sql, $link);

5. 从结果集中取出一行数据

1. mysql_fetch_row()

语法

  • 描述:从结果集中取得一行作为枚举数组。

  • 语法:array mysql_fetch_row ( resource $result )

  • 参数:$result是结果集变量。

  • 返回值:返回一个枚举数组,也就是从0开始的正整数下标。这里的下标,是与表的字段下标是对应的。

  • 举例:$arr = mysql_fetch_row($result)

操作

//5.取出一条记录作为枚举数组返回
$arr = mysql_fetch_row($result);echo "<pre class="brush:php;toolbar:false">";
print_r($arr);echo "
";

执行结果

Array(
    [0] => 17
    [1] => 1
    [2] => cctv中学生信息化教学实验基地共建工程在京启动
    [3] => admin
    [4] => 中小学课外辅导网
    [5] => 
    [6] => 
    [7] => 50
    [8] => 
    [9] => 52
    [10] => 1339340691)

2. mysql_fetch_array()

  • 描述:从结果集中取出一行,作为混合数组返回。

  • 语法:array mysql_fetch_array ( resource $result [, int $result_type ] )

  • 参数:

    • MYSQL_BOTH:默认的。也就是两种下标都存在。

    • MYSQL_ASSOC:只有字符下标的数组。相当于mysql_fetch_assoc()的功能。

    • MYSQL_NUM:只有整数下标的数组。相当于mysql_fetch_row()的功能。

    • 以上三个参数是常量,系统常量必须全大写。

    • $result:是指结果集变量。

    • $result_type:是指返回的数组的类型。取值:MYSQL_BOTH、MYSQL_ASSOC、MYSQL_NUM

  • 返回值:返回一个数组,至于是什么数组,取决于第二个参数。

  • 举例:

    • $arr = mysql_fetch_array($result) //混合数组

    • $arr = mysql_fetch_array($result , MYSQL_ASSOC ) //关联数组

    • $arr = mysql_fetch_array($result , MYSQL_NUM) //枚举数组

3. mysql_fetch_assoc()

  • 描述:从结果集中取一行,以关联数组返回。

  • 语法:array mysql_fetch_assoc(resource $result)

  • 举例:$arr = mysql_fetch_assoc($result)

附:完整PHP代码

<?php

ini_set(display_errors, 1); //设置错误为:显示

//0.数据库配置信息
$db_host = &#39;localhost&#39;;
$db_user = &#39;root&#39;;
$db_pwd = &#39;yeoman&#39;;
$db_name = &#39;yeoman92&#39;;

//1.PHP连接MySQL服务器
$link = @mysql_connect($db_host, $db_user, $db_pwd); //@用于屏蔽系统错误

//如果连接失败,则输出错误信息,并中止程序运行
if(!$link){
    echo "PHP连接MySQL失败!".mysql_error();
    exit(); //中止程序继续向下运行
}

//2.选择当前数据库
if(!mysql_select_db($db_name, $link)){
    echo "选择数据库{$db_name}失败!".mysql_error();
    exit();
}

//3.设置MySQL返回的数据字符集
mysql_query("set names utf8");

//4.执行SQL查询:向MySQL服务器发出查询的请求
$sql = &#39;SELECT * FROM 007_news WHERE id<100&#39;;
$result = mysql_query($sql, $link);

//5.取出一条记录作为枚举数组返回
$arr = mysql_fetch_row($result);
echo "<pre class="brush:php;toolbar:false">";
print_r($arr);
echo "
"; ?>

以上がPHPでMySQLデータベースを操作する詳細解説(1)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。