一定期間更新がないため広告を表示しています
ほぼ知識ゼロでLinuxサーバーを構築して、Aapche、PHP、MySQLによるWEBサイトを作るまでの備忘録ブログ。JUGEMの自作テンプレートをカスタマイズして配布したりも。SQLインジェクションへのセキュリティ対策で調べたことをメモしておきます。サーバーの環境は、PHPとMySQLです。 ■SQLインジェクションとは? SQLインジェクションとは、SQL文の一部に入力データを使用していて、その入力データをきちんとエスケープ処理しなかったために、データーベースの情報が盗まれてしまう現象です。 入力データに名前を入れて、その名前の人の情報があれば取得するSQL文があります。 SELECT * FROM users WHERE name = '(入力データ)';この入力データに、例えば「' OR 't' = 't」を指定されると、 SELECT * FROM users WHE
UPDATE テーブル名 SET カラム名=`値`[, カラム名=`値`, ... ] WHERE 条件式; 複数のデータを更新する場合は、カラム名='値'の部分をカンマ区切りで指定します。 WHERE節を使用すれば、特定のレコードだけではなく、テーブル全体で条件に一致するデータの一括更新も簡単です。 # tbl_Addressテーブルの内容 mysql> SELECT * FROM tbl_Address; Enter +--------+---------+--------+-------------------+ | UserID | Zip | Ken | Addr | +--------+---------+--------+-------------------+ | 1 | 1550031 | 東京都 | 世田谷区下北1-1-1 | | 2 | 1600023 | 東京都 |
REPLACE文について unknown REPLACE文は、INSERT文とUPDATE文を合体させたようなものです。 挿入するデータが既にテーブルに存在する場合は、新しくレコードを挿入せず、既存のレコードを新しいデータで上書き(置換)します。(UPDATE文と同じ) 逆に、挿入するデータがテーブルに存在しない場合は、新規レコードを挿入します(INSERT文と同じ)。 またREPLACE文は、INSERT文同様、SELECT文の結果を挿入することが可能です。 INSERT INTO テーブル名(フィールド名) VALUES (値) SELECT 文; REPLACE INTO テーブル名(フィールド名) VALUES (値) SELECT 文; # MySQLログイン、データベース選択 C:\mysql\bin> mysql -u root -p db_User Enter Enter
ホームSQL SQL グループ関数 データ型 演算子 SQL 2024年5月29日 SQL べき乗(POWER・POW) 0 SQL 2024年5月29日 SQL 余りを求める(MOD) 0 SQL 2024年5月29日 SQL 四捨五入(ROUND) 0 SQL 2024年5月29日 SQL ソート(ORDER BY) 0 SQL 2024年5月29日 SQL 自己結合 0 SQL 2024年5月29日 SQL 自然結合( NATURAL JOIN) 0 SQL 2024年5月21日 SQL 文字列から切り捨て(TRIM) 0 SQL 2024年5月21日 SQL 文字列を置換する(REPLACE) 0 SQL 2024年5月21日 SQL 文字を左に埋め込む(LPAD) 0 SQL 2024年5月21日 SQL 文字列の数値位置(INSTR) 0
<?php $hostname = "localhost"; $uname = "USERNAME"; $upass = "PASSWORD"; $dbname = "DBNAME"; $tblname = "TABLENAME"; //MySQL に接続する。 if( !$res_dbcon = mysql_connect( $hostname, $uname, $upass) ){ print "MYSQL への接続に失敗しました。"; exit; } //使用するDBを選択する。 mysql_select_db( $dbname, $res_dbcon ); //SQL文を実行し、結果のリソースを取得。 $res_result = mysql_query( "SELECT * from {$tblname}", $res_dbcon ); //問い合わせ結果を表示。 while( $
ここからはデータベースへクエリーを発行する方法を見ていきます。クエリーを発行するには「mysql_query」関数を使います。 mysql_query resource mysql_query(string query [, resource link_identifier]) 指定したクエリーを発行します。 引数: query 発行するクエリーを記述したSQL。クエリ文字列は、セミコロン で終えてはいけません。 link_identifier MySQLリンクID 返り値: SELECT, SHOW, DESCRIBE や EXPLAIN 文では、mysql_query() は成功した 場合に resource を返します。エラー時には FALSE を返します。それ 以外の SQL 文 UPDATE, DELETE, DROP などでは、mysql_query() は成 功した場合に T
MySQL 文字化けを防ぐ、文字コードの確認と設定 2007.01.15 MySQL 文字化けを防ぐために、文字コードの確認と設定を行う。 ■現在の文字コードの設定を調べる mysql> show variables like 'character_set%'; または、 mysql> status ■データベースの文字コード設定を調べる データベースごとに文字コードを設定できるので、現在の文字コードを調べる。 (テーブルごとではなく、データベースごと) mysql> show create database データベース名; 文字コードを指定してデータベースを作るには、 mysql> create databaase xxxdb default character set utf8; ■テーブルの文字コード設定を調べる テーブルごとに文字コードを設定できるので、現在の文字コードを調べる。
2006年07月19日 xampp:Mysqlに関するPHPMyAdminの文字化け xamppを入れたのですが、PHPMyAdminでの日本語データ操作時に文字化けが発生。色々と他の方々の事例を調べてあれやこれやと試してやっとこ解決。そのメモを。 phpMyAdminだけが文字化けする場合はこちら(2007/05/02) XamppのphpMyAdminの文字化けーその2 ■環境 ApacheFriends XAMPP (basic package) version 1.5.3a ・Apache 2.2.2 ・MySQL 5.0.21 ・PHP 5.1.4 + PHP 4.4.2-pl1 + PEAR ・phpMyAdmin 2.8.1 ■試したこと 1)my.cnfの各項目に以下のコードを追加 → 解決せず [mysqld] character-set-server = utf8 co
MariaDB に関する設定は my.ini ファイルを使って設定します。ここでは現在 my.iniファイルで設定されている内容を確認し、修正を行う方法について解説します。 my.iniファイルを開く XAMPP を使ってインストールした場合、 MariaDB の設定ファイルである my.ini は XAMPP をインストールしたディレクトリの下にある mysql\bin\my.ini にあります。 my.ini ファイルはテキストファイルですのでテキストエディタで開くことができます。 また my.ini ファイルは XAMPP コントロールパネルからも開くことができます。 XAMPP コントロールパネルを起動し、 MySQL の行にある「Config」をクリックして下さい。 表示されたメニューの中ら「my.ini」をクリックしてください。 my.ini ファイルがテキストエディタで開きま
第1章 MySQLのインストール 1.1 概要 1.2 MySQLのインストール 1.3 MySQLの環境設定 1.4 MySQLの動作確認 第2章 コマンドプロンプトでのMySQLの操作 2.1 環境変数PATHの設定 2.2 MySQLクライアントの操作 2.3 データベース・テーブルの操作 第3章 かねやんMySQLAdmin 3.1 かねやんMySQLAdminのインストール 第4章 Apacheのインストール 4.1 Apacheのインストール 4.2 Apacheの環境設定・動作確認 第5章 PHPのインストール 5.1 PHPのインストール 5.2 PHPの環境設定・動作確認 第6章 MySQLによるWebアプリケーションの基礎 6.1 Webアプリケーション用ユーザの作成 6.2 PHPによるMySQL操作の基礎 6.3 データベースやテーブルのメタデータの表示 6.4 デ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く