php中将文本数据库转为mysql数据库
使用文本数据库一般是针对小型的应用程序了,这种不就需要安装数据库了,我们可以直接操作文本文件就可以了,但时怎么操作都不如mysql数据库好用了,下面我来给大家介绍一个文本数据库转为mysql数据库实例。
代码如下 | 复制代码 |
require_once 'config.php'; $action = empty($_GET['action']) ? '' : $_GET['action']; $id = isset($_GET['id']) ? $_GET['id'] : 0; if (empty($action)) {//列表 $result = "SELECT * FROM posts ORDER BY pid DESC"; $items = 3; $page = isset($_GET['page']) ? intval($_GET['page']) : 1; $page = ($page =='' && $page $total = mysql_num_rows(mysql_query($result));//数据条目总数 $pageall = ceil($total/$items); $offset = ($page-1)*$items;//数据开始位置 $result .= " limit {$offset},{$items}";//每页显示 $results = mysql_query($result); $prev = $page - 1; $next = $page + 1; $goPrev = "上一页"; $goNext = "下一页"; if ($page == $pageall){ $goNext = NULL;} $pagestate = ''; if ($page == 1 && $pageall > 1) { $pagestate .= $goNext; } elseif ($pageall > $page || $page >1) { $pagestate .= $goNext . '|' .$goPrev; } elseif ($page >1 ) { $pagestate .= $goPrev; } else { $pagestate .= 'Just One Page'; } $pagelinks = ''; for ($i = 1; $i $pagelinks .= ($i != $page) ? "$i" : $i; $pagelinks .= ($i } // end 分页 $data = array(); //列出文章 while ($row = mysql_fetch_array($results)) {//mysql_fetch_array ; 从查询结果取出一行作为数组; $data[] = $row;// } //列出分类 $recat = mysql_query("SELECT * FROM category ORDER BY cid DESC"); $cdata = array(); while ($catlist = mysql_fetch_array($recat)) { $cdata[$catlist['cid']] = $catlist; } include template('index'); } elseif ($action == 'post') {//发表 $title = $_POST['title']; $date = date("Y-m-d H:i:s"); $content = $_POST['content']; $cid = $_POST['cat']; if ($title == '' || $content == '' || $cid == '') { echo "缺少必填项nnnn返回"; } else { $insertPost = "INSERT INTO posts (title,time,post,cid) VALUES ('$title','$date','$content','$cid')"; if (!mysql_query($insertPost,$sql)) { die('ERROR: '. mysql_error()); } header('location: index.php'); } } elseif ($action == 'view') {//查看 $view = mysql_query("SELECT * FROM posts WHERE pid='$id'"); while ($row = mysql_fetch_array($view)) { $title = $row['title']; $time = $row['time']; $post = $row['post']; } if ($_SERVER['REQUEST_METHOD'] == 'POST') {//评论 $name = isset($_POST['name']) ? $_POST['name'] : 0; $review = isset($_POST['review']) ? $_POST['review'] : 0; if ($name == '' && $review == '') { echo "缺少必填项"; exit; } $insertRview = "INSERT INTO review (pid,name,review) VALUES ('$id','$name','$review')"; if (!mysql_query($insertRview,$sql)) { die('ERROR: ' . mysql_error()); } header("location: ?action=view&id=$id"); } $rert = mysql_query("SELECT * FROM review WHERE pid='$id' ORDER BY rid ASC"); $data = array(); while ($relist = mysql_fetch_array($rert)){ $data[] = $relist; } include template('view'); } elseif ($action == 'del') {//删除 mysql_query("DELETE FROM posts WHERE pid='$id'"); header("location: index.php"); } elseif ($action == 'edit') {//编辑 if ($_SERVER['REQUEST_METHOD'] == 'POST') { $title = $_POST['title']; $content = $_POST['content']; $date = date("Y-m-d H:i:s"); if ($title == '' or $content == '') { echo "缺少必填项nnnn返回"; exit;} mysql_query("UPDATE posts SET title='$title',time='$date',post='$content' WHERE pid='$id'"); header("location: index.php"); } else { $row = mysql_query("SELECT * FROM posts WHERE pid='$id'"); $row = mysql_fetch_array($row); include template('edit'); } } elseif ($action == 'newcat') {//新建分类 $cat = isset($_POST['category']) ? $_POST['category'] : 0; if ($_SERVER['REQUEST_METHOD'] == 'POST') { if ($cat == '') { echo "缺少必填项nnnn返回"; exit;} $insertCat = "INSERT INTO category (category) VALUES ('$cat')"; if (!mysql_query($insertCat,$sql)){ die('ERROR: ' . mysql_error()); } header("location: index.php"); } include template('jioncat'); } elseif ($action == 'vcat') { $cid = $_GET['cid']; $revcats = "SELECT * FROM posts WHERE cid='$cid' ORDER BY cid DESC"; $items = 1; $page = isset($_GET['page']) ? intval($_GET['page']) : 1; $page = ($page =='' && $page $total = mysql_num_rows(mysql_query($revcats));//数据条目总数 $pageall = ceil($total/$items); $offset = ($page-1)*$items;//数据开始位置 $revcats .= " limit {$offset},{$items}";//每页显示 $revcat = mysql_query($revcats); $prev = $page - 1; $next = $page + 1; $goPrev = "上一页"; $goNext = "下一页"; if ($page == $pageall){ $goNext = NULL;} $pagestate = ''; if ($page == 1 && $pageall > 1) { $pagestate .= $goNext; } elseif ($pageall > $page || $page >1) { $pagestate .= $goNext . '|' .$goPrev; } elseif ($page >1 ) { $pagestate .= $goPrev; } else { $pagestate .= 'Just One Page'; } $pagelinks = ''; for ($i = 1; $i $pagelinks .= ($i != $page) ? "$i" : $i; $pagelinks .= ($i } $data = array(); while ($vclist = mysql_fetch_array($revcat)) { $data[] = $vclist; } include template('cplist'); } mysql_close($sql); |
题外话了,一个access转换成mysql数据库的实例
点击下载:http://file.bKjia.c0m/download/2013/05/14/db2mysql.zip

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

データ統合の簡素化:AmazonrdsmysqlとRedshiftのゼロETL統合効率的なデータ統合は、データ駆動型組織の中心にあります。従来のETL(抽出、変換、負荷)プロセスは、特にデータベース(AmazonrdsmysQlなど)をデータウェアハウス(Redshiftなど)と統合する場合、複雑で時間がかかります。ただし、AWSは、この状況を完全に変えたゼロETL統合ソリューションを提供し、RDSMYSQLからRedshiftへのデータ移行のための簡略化されたほぼリアルタイムソリューションを提供します。この記事では、RDSMysQl Zero ETLのRedshiftとの統合に飛び込み、それがどのように機能するか、それがデータエンジニアと開発者にもたらす利点を説明します。

MySQLは、複数の同時接続を処理し、マルチスレッド/マルチプロセスを使用して、各クライアントのリクエストに独立した実行環境を割り当てて、邪魔されないことを確認できます。ただし、同時接続の数は、システムリソース、MySQL構成、クエリパフォーマンス、ストレージエンジン、ネットワーク環境の影響を受けます。最適化では、コードレベル(効率的なSQLの書き込み)、構成レベル(MAX_Connectionの調整)、ハードウェアレベル(サーバー構成の改善)などの多くの要因を考慮する必要があります。

MySQLがテーブル構造を変更すると、メタデータロックが通常使用され、テーブルがロックされる可能性があります。ロックの影響を減らすために、次の測定値をとることができます。1。オンラインDDLでテーブルを使用できます。 2。バッチで複雑な変更を実行します。 3.小規模またはオフピーク期間中に操作します。 4. PT-OSCツールを使用して、より細かい制御を実現します。

1.正しいインデックスを使用して、データの量を削減してデータ検索をスピードアップしました。テーブルの列を複数回検索する場合は、その列のインデックスを作成します。あなたまたはあなたのアプリが基準に従って複数の列からのデータが必要な場合、複合インデックス2を作成します2。選択した列のみを避けます。必要な列のすべてを選択すると、より多くのサーバーメモリを使用する場合にのみサーバーが遅くなり、たとえばテーブルにはcreated_atやupdated_atやupdated_atなどの列が含まれます。

MySQLプライマリキーは、データベース内の各行を一意に識別するキー属性であるため、空にすることはできません。主キーが空になる可能性がある場合、レコードを一意に識別することはできません。これにより、データの混乱が発生します。一次キーとして自己挿入整数列またはUUIDを使用する場合、効率やスペース占有などの要因を考慮し、適切なソリューションを選択する必要があります。

ルートとしてMySQLにログインできない主な理由は、許可の問題、構成ファイルエラー、一貫性のないパスワード、ソケットファイルの問題、またはファイアウォール傍受です。解決策には、構成ファイルのBind-Addressパラメーターが正しく構成されているかどうかを確認します。ルートユーザー許可が変更されているか削除されてリセットされているかを確認します。ケースや特殊文字を含むパスワードが正確であることを確認します。ソケットファイルの許可設定とパスを確認します。ファイアウォールがMySQLサーバーへの接続をブロックすることを確認します。

MySQLはAndroidで直接実行できませんが、次の方法を使用して間接的に実装できます。Androidシステムに構築されたLightWeight Database SQLiteを使用して、別のサーバーを必要とせず、モバイルデバイスアプリケーションに非常に適したリソース使用量が少ない。 MySQLサーバーにリモートで接続し、データの読み取りと書き込みのためにネットワークを介してリモートサーバー上のMySQLデータベースに接続しますが、強力なネットワーク依存関係、セキュリティの問題、サーバーコストなどの短所があります。

MySQLはJSONデータを返すことができます。 json_extract関数はフィールド値を抽出します。複雑なクエリについては、Where句を使用してJSONデータをフィルタリングすることを検討できますが、そのパフォーマンスへの影響に注意してください。 JSONに対するMySQLのサポートは絶えず増加しており、最新バージョンと機能に注意を払うことをお勧めします。
