ホームページ php教程 php手册 通过PHP操作MySQL数据库

通过PHP操作MySQL数据库

Jun 06, 2016 pm 07:49 PM
mysql php 操作する データベース データクエリ 合格 合格

在数据库中,数据查询是通过Select语句完成的。Select语句可以从数据库中按用户要求提供的限定条件检索数据,并将查询结果以表格的形式返回。 例如,查询图书信息表中图书名称为PHP数据库系统开发完全手册的图书信息。代码如下: $sql=mysql_query("select *

在数据库中,数据查询是通过Select语句完成的。Select语句可以从数据库中按用户要求提供的限定条件检索数据,并将查询结果以表格的形式返回。

例如,查询图书信息表中图书名称为“PHP数据库系统开发完全手册”的图书信息。代码如下:

$sql=mysql_query("select * from tab_book where bookname='PHP数据库系统开发完全手册'");

$info=mysql_fetch_array($sql);

下面通过具体的范例来讲解数据查询的方法和技巧。

 

1)利用include包含文件命令引用数据库配置文件,即可访问数据库。代码如下:

(2)创建记录集。首先通过接收表单传递的值赋值给Session变量,然后利用If…Then…Else条件语句判断用户当前选择的操作符,从而执行相对应的SQL语句来检索商品的相关信息,并判断记录集是否为空。如果检索到记录尾,没有找到符合条件的记录,那么将弹出提示信息。主要程序代码如下:

?php

    $txt_sel=$_POST[txt_sel];

    $txt_tj=$_POST[txt_tj];

    $txt_book=$_POST[txt_book];

    if ($_POST[Submit]=="查询"){

            if($_POST[txt_tj]=="like"){       //如果选择的条件为"like",则进行模糊查询

            $sql=mysql_query("select * from tab_book where ".$txt_sel." like '%".$txt_book."%'");

                    $info=mysql_fetch_array($sql);

    }

        if($_POST[txt_tj]=="="){

            $sql=mysql_query("select * from tab_book where ".$txt_sel." = '".$txt_book."'");

                            $info=mysql_fetch_array($sql);

                    }                     

            if($_POST[txt_tj]==">"){

                    $sql=mysql_query("select * from tab_book where ".$txt_sel." > '".$txt_book."'");

                    $info=mysql_fetch_array($sql);

            }

            if($_POST[txt_tj]=="

                    $sql=mysql_query("select * from tab_book where ".$txt_sel."

                    $info=mysql_fetch_array($sql);

            }                     

            else{

                    if($info==false){          //如果检索的信息不存在,则输出相应的提示信息

                            echo "

对不起,您检索的图书信息不存在!
";

                            }

                    }

            }

?>

通过PHP操作MySQL数据库注意:本范例在实现模糊查询时,使用了通配符“%”。“%”表示任意零个或多个字符。

(3)利用Do…While循环语句以表格形式输出数据信息到浏览器中。代码如下:

do{

?>

   

   

 

   

 

   

   

  

   

 

   

 

}

while($info=mysql_fetch_array($sql));

?>

查询指定时间段的数据

在对日期数据进行查询时,经常需要对某一时间段内的数据进行查询。首先介绍一个简单的日期查询。

例如,利用SQL语句查询采购信息表中指定时间的采购信息,代码如下:

$sql=mysql_query("select * from tb_cgdan where cgdate >'2007-01-12'");

$result=mysql_fetch_array($sql);

利用SQL语句中的BETWEEN…AND语句可以实现时间段查询的功能。

BETWEEN…AND语句的语法格式如下:

test_expression [ NOT ] BETWEEN begin_expression AND end_expression

test_expression:用来在由begin_expression和end_expression定义的范围内进行测试的表达式。

NOT:指定谓词的结果被取反。

begin_expression:任何有效的表达式。

begin_expression为时间段的起始日期。

end_expression:任何有效的表达式。

test_expression为时间段的终止日期。

AND:作为一个占位符,表示test_expression应该处于由begin_expression和end_expression指定的范围内。

下面详细介绍对指定时间段内数据记录进行查询的方法。

范例09-05 查询指定时间段的数据

通过PHP操作MySQL数据库 范例位置:mr/fl/09/05

通过PHP操作MySQL数据库 录像位置:mr/lx/09

本范例的实现过程如下。

(1)利用include包含文件命令引用数据库配置文件访问数据库。代码如下:

(2)利用复合条件BETWEEN…AND语句检索指定时间段内的商品采购信息,主要程序代码如下:

if($_POST["subb"]""){

$_SESSION["sdate"]=$_POST["sdate"];

$_SESSION["edate"]=$_POST["edate"];

$sql=mysql_query("select * from tb_cgdan where cgdate between '".$_SESSION["sdate"]."' and '".$_SESSION ["edate"]."'");

$result=mysql_fetch_array($sql);

if($result==false){

    echo "

Sorry!该时间段内没有采购商品!
";

}

?>

(3)利用Do…While循环输出语句将符合条件的采购信息输出到浏览器中,代码如下:

do{

?>

   

     

     

     

     

     

     

     

     

     

   

}while($result=mysql_fetch_array($sql));

}

mysql_close();

?>

 

查询畅销的前5种商品

要查询出最畅销的商品,必须利用ORDER BY子句根据一个或一个以上的字段来排序查询结果,然后再使用LIMIT子句限制Select语句返回的行数。LIMIT取1个或2个参数,如果给定2个参数,第一个参数用于指定要返回的第一行的偏移量,第二个参数用于指定返回行的最大数目。初始行的偏移量是0(不是1)。

mysql> select * from table LIMIT 5,10; # Retrieve rows 6-15

如果给定一个参数,它指出返回行的最大数目。

mysql> select * from table LIMIT 5;     # Retrieve first 5 rows

即LIMIT n等价于LIMIT 0,n。

数据查询有一项极为重要的功能,那就是它能够查询出最前面的或最后的。下面通过具体的范例进行讲解。

范例09-06 查询畅销的前5种商品

通过PHP操作MySQL数据库 范例位置:mr/fl/09/06

通过PHP操作MySQL数据库 录像位置:mr/lx/09

查询时不仅可以查询具有相同字段信息的记录,还可以对某一特定范围内的数据信息进行查询。运行本范例,如图9.10所示,默认页显示tb_stocks数据表中的全部信息。单击【查询】按钮,即可统计出最畅销的前5种商品(本范例按销售总量降序排列,再返回查询结果的前5条记录)并将结果输出到浏览器

(1)利用框架嵌套技术布局范例页面,代码如下:

(2)利用include包含文件命令引用数据库配置文件访问数据库。代码如下:

(3)创建记录集。利用LIMIT 5子句返回满足Where子句的前5条记录,代码如下:

   

    if ($_POST[subb]=="查询"){

    $sql=mysql_query("select spname,cd,dw,price,sum(xssl) as sum_xssl,sum(xsje) as sum_xsje from tb_ stocks group by spname,cd,dw,price order by sum_xssl desc LIMIT 5");

    $result=mysql_fetch_array($sql);

    }

?>

(4)利用Do…While循环语句输出查询结果,代码如下:

do{

    ?>

   

 

   

 

   

   

   

   

}while($result=mysql_fetch_array($sql));

?>

多表分组统计商品的销售情况

在查询统计中经常会遇到对查询结果进行排序、分组的情况。多表分组统计主要应用了SUM聚集函数,该函数主要用于返回表达式中所有值的和,或只返回DISTINCT值。需要说明的是,SUM聚集函数只能用于数据类型是数字的列,且忽略NULL值。

语法如下:

SUM ( [ALL|DISTINCT] expression )

其中,参数ALL表示对所有的值进行聚集函数运算,是默认值;参数DISTINCT用于指定SUM返回惟一值的和;参数expression是常量、列或函数,或者是算术、按位与字符串等运算符的任意组合。expression是精确数字或近似数字数据类型分类(bit数据类型除外)的表达式。其他情况下不允许使用聚集函数和子查询。

说明:SUM函数在对列中数值相加时忽略NULL值。但是,如果列中的所有值均为NULL,则SUM函数返回NULL作为其结果。

下面通过具体的范例详细讲解多表分组统计的应用。

范例09-07 多表分组统计商品的销售情况

通过PHP操作MySQL数据库 范例位置:mr/fl/09/07

通过PHP操作MySQL数据库 录像位置:mr/lx/09

本范例实现的是在商品销售信息表和商品库存信息表中查询商品的销售数量和现存数量,并按商品编号进行分组。运行本范例,单击【统计】按钮,即可将符合条件的统计结果输出到浏览器中

(1)利用include包含文件命令引用数据库配置文件访问数据库。代码如下:

(2)创建记录集。在图书销售信息表和图书库存信息表中查询图书的销售数量和现存数量,并按图书编码、图书名称、作者等分组,从而实现从多个表中分组统计数据信息。主要程序代码如下:

if ($_POST[subb]=="统计"){

$sql=mysql_query("select k.spid,k.spname,k.kcsl,sum(x.xssl) as sum_xssl from tb_stocks as k,tb_market as x where k.spid=x.spid group by k.spid,k.spname,k.kcsl");

$result=mysql_fetch_array($sql);

}

?>

(3)利用Do…While语句循环输出统计后的商品库存信息和销售信息。代码如下:

 

 

 

 

}while($result=mysql_fetch_array($sql));

mysql_close();

?>

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 MySQL 8.4 で mysql_native_password がロードされていないエラーを修正する方法 Dec 09, 2024 am 11:42 AM

MySQL 8.4 (2024 年時点の最新の LTS リリース) で導入された主な変更の 1 つは、「MySQL Native Password」プラグインがデフォルトで有効ではなくなったことです。さらに、MySQL 9.0 ではこのプラグインが完全に削除されています。 この変更は PHP および他のアプリに影響します

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHPがMySQLに接続された後、ページは空白です。無効なDIE()関数の理由は何ですか? PHPがMySQLに接続された後、ページは空白です。無効なDIE()関数の理由は何ですか? Apr 01, 2025 pm 03:03 PM

PHPがMySQLに接続した後、ページは空白になり、DIE()関数が失敗する理由。 PHPとMySQLデータベースの間の接続を学習するとき、あなたはしばしばいくつかの混乱することに遭遇します...

2024 年の開発者向け PHP CMS プラットフォーム トップ 10 2024 年の開発者向け PHP CMS プラットフォーム トップ 10 Dec 05, 2024 am 10:29 AM

CMSはコンテンツマネジメントシステムの略称です。これは、ユーザーが高度な技術知識を必要とせずにデジタル コンテンツを作成、管理、変更できるようにするソフトウェア アプリケーションまたはプラットフォームです。 CMS を使用すると、ユーザーはコンテンツを簡単に作成および整理できます

See all articles