今週は突然少し忙しくなりました。 。プレイ - PHP 上級
こんにちは
まだ火曜日ですが、今週はプレイが少し忙しいことに気づきました。まだ楽しみにしています - 行きます今日の午後に街へ行って、夕方に戻ってくる 映画を観て、明日の夜は鍋ディナーを一緒に食べて、明後日は短編映画を撮影して、夕方には野球をするかもしれません、金曜日、まあ、金曜日です。この状況が続くと、(ビアンの)週報をどうやって書けばいいのかさえわかりませんが、それでもそうすることは良い考えです。
1. PHP の高度な完了
11.1. PHP はどのデータベースをサポートしていますか? 🎜>
PHP は、対応する拡張機能をインストールすることでデータベース操作を実装します。現在の主流のデータベースには、MsSQL、MySQL、Sybase、Db2 が含まれます。 Oracle、PostgreSQL、Access など、PHP がサポートする拡張機能をインストールできるデータベースは、一般に、Linux、Apache、Mysql、PHP を指します。そのため、この章では Mysql データベースが広く使用されています。 Mysqlの操作方法が簡単に理解できます。
11.2 データベース拡張機能
PHP のデータベースには、公式拡張機能を含む 1 つ以上の拡張機能も提供される場合があります。第三者による。 Mysql で一般的に使用される拡張機能にはネイティブ mysql ライブラリが含まれており、拡張された mysqli 拡張機能を使用することもでき、接続と操作に PDO を使用することもできます。
異なる拡張機能は基本的に同様の操作方法を提供しますが、いくつかの新しい機能が追加されたり、操作パフォーマンスが異なる場合があります。mysqli 拡張:
PDO 拡張$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
$link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');
$link = mysql_connect('127.0.0.1', 'code1', '') または die('データベース接続に失敗しました');
$dsn = 'mysql:dbname=testdb;host=127.0.0.1';$user = 'dbuser';$password = 'dbpass';$dbh = new PDO($dsn, $user, $password);mysql_select_db('code1'); mysql_query ("名前を設定 'utf8'");$result = mysql_query('ユーザー制限 1 から * を選択');
$row = mysql_fetch_assoc($result);
print_r($row); 🎜>
11.3 MySQL データベースへの接続
PHP でデータベースを操作するには、通常、最初にデータベースとの接続を確立します。 mysql_connect 関数を使用します。データベースに接続するには、この関数でデータベース アドレス、ユーザー名、パスワードを指定する必要があります。
PHP がデータベースに接続する方法は、次のようなコマンド ラインで直接接続するのと似ています。$host = 'localhost';$user = 'code1';$pass = '';$link = mysql_connect($host, $user, $pass);
mysql -hlocalhost -ucode1 -p
上記の手順により、データベースとの接続が確立され、データ操作を実行できるようになります。
mysql_select_db('code1');mysql_query("set names 'utf8'"); $host = '127.0.0.1';
$user = 'code1';$pass = ''; // ここにデータベース接続コードを記述しますmysql_connect($host,$user,$pass);
mysql_select_db('code1');
mysql_query("set names 'utf8'");
11.4 MySQL クエリの実行
データベースへの接続を確立した後、mysql_query と sql の形式を使用してクエリを実行できます。データベースへのステートメント クエリ命令を送信します。
デフォルトでは、PHP は最も近いデータベース接続を使用してクエリを実行しますが、複数の接続がある場合は、パラメーター コマンドを使用してその接続からクエリを実行できます。
$res = mysql_query('select * from user limit 1');
$row = mysql_fetch_array($res);var_dump($row);//データベースに接続しますmysql_connect('127.0.0.1', 'code1', '');
$link1 = mysql_connect('127.0.0.1', 'code1', '');$link2 = mysql_connect('127.0.0.1', 'code1', '', true); //开启一个新的连接$res = mysql_query('select * from user limit 1', $link1); //从第一个连接中查询数据mysql_select_db( 'code1');mysql_query("set names 'utf8'");//ここでデータクエリを実行します
$arr=mysql_query("select * from userlimit 1");
$row=mysql_fetch_row($arr);
print_r($row);
echo $row[0];
11.5 MySQL への新しいデータの挿入
データクエリに mysql_query を使用する方法を理解した後、同様に、SQL ステートメントを実行することでデータの挿入を実装します。例:
mysql では、insert ステートメントを実行した後、自動インクリメントされる主キー ID を取得できます。これは、PHP の mysql_insert_id 関数を通じて取得できます。
$sql = "insert into user(name, age, class) values('李四', 18, '高三一班')";mysql_query($sql); //执行插入语句
この ID は、通常、挿入が成功したかどうかを判断するために、または他のデータ操作の関連 ID として使用できます。
$name = '李四';$age = 18;$class = '高三一班';$sql = "insert into user(name, age, class) values('$name', '$age', '$class')";mysql_query($sql); //执行插入语句
$uid = mysql_insert_id();11.6 データクエリ結果の取得
通过前面的章节,我们发现PHP操作数据库跟MySql客户端上操作极为相似,先进行连接,然后执行sql语句,再然后获取我们想要的结果集。
PHP有多个函数可以获取数据集中的一行数据,最常用的是mysql_fetch_array,可以通过设定参数来更改行数据的下标,默认的会包含数字索引的下标以及字段名的关联索引下标。
$sql = "select * from user limit 1";$result = mysql_query($sql);$row = mysql_fetch_array($result);
可以通过设定参数MYSQL_NUM只获取数字索引数组,等同于mysql_fetch_row函数,如果设定参数为MYSQL_ASSOC则只获取关联索引数组,等同于mysql_fetch_assoc函数。
$row = mysql_fetch_row($result);$row = mysql_fetch_array($result, MYSQL_NUM); //这两个方法获取的数据是一样的
$row = mysql_fetch_assoc($result);$row = mysql_fetch_array($result, MYSQL_ASSOC);
如果要获取数据集中的所有数据,我们通过循环来遍历整个结果集。
$data = array();while ($row = mysql_fetch_array($result)) { $data[] = $row;}
//连接数据库
mysql_connect('127.0.0.1', 'code1', '');
mysql_select_db('code1');
mysql_query("set names 'utf8'");
//数据预处理 防止查询不到数据
mysql_query("insert into user(name, age, class) values('王二', 19, '高三五班')");
//进行数据查询
$sql = "select * from user limit 1";
$result = mysql_query($sql);
//在这里获取一行数据
$row=mysql_fetch_assoc($result);
echo '
';<br>print_r($row);<br>echo '';
11.7 查询分页数据
上一节中,我们了解到通过循环可以获取一个查询的所有数据,在实际应用中,我们并不希望一次性获取数据表中的所有数据,那样性能会非常的低,因此会使用翻页功能,每页仅显示10条或者20条数据。
通过mysql的limit可以很容易的实现分页,limit m,n表示从m行后取n行数据,在PHP中我们需要构造m与n来实现获取某一页的所有数据。
假定当前页为$page,每页显示$n条数据,那么m为当前页前面所有的数据,既$m = ($page-1) * $n,在知道了翻页原理以后,那么我们很容易通过构造SQL语句在PHP中实现数据翻页。
$page = 2;$n = 2;$m = ($page - 1) * $n;$sql = "select * from user limit $m, $n";$result = mysql_query($sql);//循环获取当前页的数据$data = array();while ($row = mysql_fetch_assoc($result)) { $data[] = $row;}
在上面的例子中,我们使用了$m与$n变量来表示偏移量与每页数据条数,但我们推荐使用更有意义的变量名来表示,比如$pagesize, $start, $offset等,这样更容易理解,有助于团队协作开发。
//连接数据库
mysql_connect('127.0.0.1', 'code1', '');
mysql_select_db('code1');
mysql_query("set names 'utf8'");
//预设翻页参数
$page = 2;
$pagesize = 2;
//在这里构建分页查询
$start=($page-1)*$pagesize;
$sql="SELECT * FROM user LIMIT $start,$pagesize";
//获取翻页数据
$result = mysql_query($sql);
$data = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$data[] = $row;
}
echo '
';<br>print_r($data);<br>echo '';
11.8 更新与删除数据
数据的更新与删除相对比较简单,只需要构建好相应的sql语句,然后调用mysql_query执行就能完成相应的更新与删除操作。
$sql = "update user set name = '曹操' where id=2 limit 1";if (mysql_query($sql)) { echo '更新成功';}
同样的删除可以使用类似以下的代码:
$sql = "delete from user where id=2 limit 1";if (mysql_query($sql)) { echo '删除成功';}
对于删除与更新操作,可以通过mysql_affected_rows函数来获取更新过的数据行数,如果数据没有变化,则结果为0。
$sql = "update user set name = '曹操' where id=2 limit 1";if (mysql_query($sql)) { echo mysql_affected_rows();}
//连接数据库
mysql_connect('127.0.0.1', 'code1', '');
mysql_select_db('code1');
mysql_query("set names 'utf8'");
//预设数据以便进行更新操作
mysql_query("insert into user(name, age, class) values('王二', 19, '高三五班')");
$id = mysql_insert_id();
//在这里更新id为$id的行的名字为李白
$sql="update user set name='李白' where id=$id limit 1";
mysql_query($sql);
//输出更新数据条数
echo '数据更新行数:'.mysql_affected_rows();
mysql_query("delete from user where id='$id'");
11.9 关闭MySQL连接
当数据库操作完成以后,可以使用mysql_close关闭数据库连接,默认的,当PHP执行完毕以后,会自动的关闭数据库连接。
mysql_close();
虽然PHP会自动关闭数据库连接,一般情况下已经满足需求,但是在对性能要求比较高的情况下,可以在进行完数据库操作之后尽快关闭数据库连接,以节省资源,提高性能。
在存在多个数据库连接的情况下,可以设定连接资源参数来关闭指定的数据库连接。
$link = mysql_connect($host, $user, $pass);mysql_close($link);
//データベースに接続します
$con=mysql_connect('127.0.0.1', 'code1', '');
mysql_select_db('code1');
mysql_query ("set names 'utf8'");
// ここでデータベース接続を閉じます
mysql_close($con);

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

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