php mysqlデータ操作の問題
先輩に指導してもらいましょう!
図に示すように、テーブルには 2 つのデータがあります。1 つ目は phpMyAdmin に挿入され、2 つ目は php ページから挿入されます
org_name varchar 型 open_time timestamp 型
php コードは次のとおりです。 :
include_once(" pay/CommonUtil.php");
include_once dirname(__FILE__).'/db/DbOperation.php';
$db = new DbOperation('z_org'); array(
"org_id" => 2 ,
"org_name" => "北京",
"open_time" => time()
);
$db->addObject($org); = $db->getAll() ;
var_dump($rs);
?>
問題:
1. php から挿入されたデータが文字化けしており、時刻が 0000-00-00 00:00 です。 :00
2. テーブル全体の最初の漢字データをクエリします。コードが文字化けします。2 番目は正常です。 array(2) { [0]=> array(3) { ["org_id"]=> (1) "1" ["組織名"]=> 文字列(3 ) "???" ["open_time"]=> 文字列(19) "2014-08-23 18:35:18" } [1 ]=> 配列(3) { ["組織ID"]=> 文字列(1) "2" ["組織名"]=> 文字列(19) ) "0000-00-00 00:00:00" } }
ディスカッションへの返信(解決策)
プログラムのエンコーディングは何ですか? phpmyadminと同じエンコーディングに変更してくださいプログラムのエンコーディングはutfです-8、phpMyAdminもutf-8です
Du Niangは、データベース接続を取得するときに更新する必要があると言いました(名前をutf_8に設定します)それを追加した後、エラーメッセージ「致命的エラー:キャッチされない例外「DB_Exception」とメッセージ「更新」が表示されました失敗しました: 不明な文字セット: 'utf''
は
('set names utf8')
ではありません
さて、utf8 を使用してみましたが、問題は解決しました
これで、残りのタイムスタンプが問題: time() 関数が機能しません。date("Y-m-d h:i:s") を試しました。問題は次のとおりです。
array(3) { ["org_id"]=> ) "1" ["組織名"]=> 文字列(9) "上海市" ["open_time"]=> 文字列(19) "2014-08-23 18:35:18" }
array(3) { ["org_id"]=> string(1) "3" ["org_name"]=> string(9) "重慶市" ["open_time"]=> string(19) "0000-00-00 00:00:00" }
array(3 ) { ["org_id"]=> string(1) "4" ["org_name" ]=> string(9) "天津市" ["open_time"]=> string(19) "2014-08-23 12:00:31" }
array(3) { ["org_id"]=> ; 文字列(1) "5" ["組織名"]=> 文字列(9) "河北省" ["open_time"] => 文字列(19) "2014-08-23 12:02:34" }通常より8時間遅いのですが、タイムゾーンの問題なのかわかりませんが、どう設定すればよいのでしょうか?
$org = array(
"org_id" => 2,
"org_name" => "Beijing",
"open_time" => 'now()'
);データベースの関数は OK です
ツリー ゾーンが適切に設定されていないため、日付の時刻が間違っています
date_default_timezone_set('PRC'); を追加しました
書き込み時刻は ["open_time"]= > 文字列です(19) "2014-08-23 08:11:27"、24 時間時計ではないようです
"open_time" => 'now()' を試してみたところ、["open_time"] が返されました。 => string(19) "0000-00-00 00:00:00"、すべての書き込みパラメータがスラッシュでエスケープされています、これが問題かどうかはわかりません
PHP には now() 関数はありません
now() は date("Y-m-d H:i:s" ) と同等です

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

IISとPHPは互換性があり、FastCGIを通じて実装されています。 1..phpファイル要求を構成ファイルを介してFastCGIモジュールに転送します。 2. FASTCGIモジュールは、PHPプロセスを開始して、パフォーマンスと安定性を改善するための要求を処理します。 3。実際のアプリケーションでは、構成の詳細、エラーデバッグ、パフォーマンスの最適化に注意する必要があります。

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

MySQLは、迅速な開発や中小規模のアプリケーションに適していますが、Oracleは大規模な企業や高可用性のニーズに適しています。 1)MySQLはオープンソースで使いやすく、Webアプリケーションや中小企業に適しています。 2)Oracleは強力で、大企業や政府機関に適しています。 3)MySQLはさまざまなストレージエンジンをサポートし、Oracleは豊富なエンタープライズレベルの機能を提供します。

session_start()への複数の呼び出しにより、警告メッセージと可能なデータ上書きが行われます。 1)PHPは警告を発し、セッションが開始されたことを促します。 2)セッションデータの予期しない上書きを引き起こす可能性があります。 3)session_status()を使用してセッションステータスを確認して、繰り返しの呼び出しを避けます。

MySQLとPHPMyAdminは、次の手順を通じて効果的に管理できます。1。データベースの作成と削除:PHPMyAdminをクリックして完了します。 2。テーブルの管理:テーブルを作成し、構造を変更し、インデックスを追加できます。 3。データ操作:データの挿入、更新、削除、SQLクエリの実行をサポートします。 4。データのインポートとエクスポート:SQL、CSV、XML、およびその他の形式をサポートします。 5。最適化と監視:最適化可能なコマンドを使用してテーブルを最適化し、クエリアナライザーと監視ツールを使用してパフォーマンスの問題を解決します。
