【PHP】mysqliのプリペアドステートメント記述(SQLインジェクション対策)

2023-06-03

PHPでのSQLインジェクション対策ならプリペアドステートメントが有名です。 (プリペアド・ステートメントは静的プレースホルダ、バインド機構と呼ぶ場合もあるようです) PDO派ではなく、mysqli派の方へ向けたプリペアドステートメントの記述方法の紹介です。 コードを見ればなんとなく分かると思います。 prepare関数にて「?」を仕掛けた数だけ、bind_param関数の引数の数に関係します。 <削除 DELETE> phpStart $id = htmlspecialchars($_POST["id"]); $stmt = $mysqli->prepare("D...

パソコン初心者も上級者にもオススメ!ウイルス対策ソフトはさっさとアンインストールしましょう

2022-01-22


▽1、ネットにウイルスなど存在しない。あるのは不正プログラム ▽2、フリーソフトをインストールしなければ安全 ▽3、サイト上の広告バナーはなるべく押さないこと ▽4、実はウイルス対策ソフト自体が不正プログラム? ▽5、サポートが切れても買い換える必要は全くありません ▽6、システムの復元機能があるから安心してください ウイルス対策ソフトはアンインストールしても全く変わりません。 windowsのディフェンダーもアンインストールして問題ありません。 この根拠をなるべく分かりやすく解説してみようという試みです。 ネットにウイルスなど存在しない。あるのは不正プログラ...

RSSを自作PHPで作る為の日付をpubDateに逆変換する自作関数

2022-01-16

pubDateは独特でやっかいな表記型で扱いにくい。 <rss2.0 pubDateの書式> Sun, 16 Jan 2022 01:54:00 +0000 pubDateを通常の日時表記にする方法はネットに多く転がっているけど、逆はありませんでしたので、 特定の日付(日付指定)で通常の日時型(2022/01/16 00:00:00)をpubDateの書式に変換する関数を作成しました。 たかが日時表記の変換なので難易度が低いですが、pubDateは地味に面倒な書式です。 RSSを自力で作成する人はほとんどいないと思うので、マニアックな事象なのですが。 当ブログはブ...

【PHP】第何週目の何曜日は何日?を最短で算出する方法

2020-10-23

PHPのstrtotime関数は非常に便利で、カレンダーを使用した予約システムなどで活躍してくれます。 今回は、月毎に第一週目の水曜日、第二週目の水曜日は何日かを求める最短の方法をご紹介。 phpStart $y = 2020; //任意 $m = 10; //任意 $jd = cal_to_jd(CAL_GREGORIAN, $m, 1, $y); $month_name = jdmonthname($jd, 1); $first_wed_day = date("j", strtotime("first Wednesday of {$month_name} {$y}")...

ビデオカメラのMTSデータを結合してmp4に変換【音ズレなし、結合はフリーソフト不要】

2019-10-11


▽MTSの結合はコマンドプロントでできます!しかも、音ズレなし! ▽MTSをmp4にビットレートを下げて変換(容量を軽くする) ▽一眼レフのMOVファイルはMTSと同様の方法で変換できるか? MTSデータは無劣化なので、そのまま保持しておきたいデータではあるものの、ビットレートが非常に高くてデータ容量が大きく、動画編集の際に動作が重くなります。 それほど画質にこだわらないケースなので、ビットレートを5000kbpsくらいまで落として、ついでにmp4に変換しようと思います。 まずは3つのMTSファイルを一つのファイルにしたいと思います。動画の結合はソフトを使うより簡単な...

パソコンの最低限の知識 ITリテラシーが向上するパソコンの使い方(設定)について。拡張子を表示していない人は上級者になれません

2019-09-18


▽ITリテラシー向上 基本用語「ブラウザ」 ▽ITリテラシー向上 基本用語「拡張子」 ▽ITリテラシー向上 基本用語「OS(オーエス)」 ▽ITリテラシー向上 PC(旧称:マイコンピュータ)をデスクトップに表示する ▽ITリテラシー向上 基本用語「デスクトップ画面)」 ▽ITリテラシー向上 基本用語「サーバー」 ▽ITリテラシーを向上させるには用途を明確にしよう この記事の内容はパソコンの上級者なら当たり前のように理解していることばかりです。 記事を読んで、よく分からなかったという方は、ハッキリ言ってITリテラシーが低いです。 さあ、あなたのITリテラシーはいかほ...

軽減税率に向けた消費税の自動計算(税抜き・税別、8%、10%の相互変換)

2019-09-10

2019年の10月から消費税が10%になります。ややこしいことに、一部8%です。これが軽減税率というルールです。対象品目については政府のサイトにて。 何が対象なの? | 特集-消費税の軽減税率制度 いずれ全て10%になりますが、一部の極小企業が急に変えることで潰れるかも!?とか、庶民が困らないように!?ということを考慮してという建前です。個人的にはたった2%増えることでは何も困りませんが、世の中にはシビアな現状の人がいるのですかね。 一応、低所得者や極小企業への配慮を目的としているそうですが、政府都合の策略でもあります^^; 定額給付金もそうですが、ほんのわずかな金で情報弱...

【PHP基礎】データベースのデータをCSVで出力する方法

2019-08-20

データベースのデータをCSV出力する。 管理画面ではそこそこ需要のある機能。 今回はCSV出力のドシンプルなコードをコピペ用に残しておきます。 まずはじめに、CSVのことを難しく考えている方もいるかもしれないので、CSV形式についての説明をほんの数行でします。 CSVファイルはデフォルトでエクセルで開かれるので、エクセルデータだと思いがちですが、ただのテキストファイルです。例としまして、下記のようなカンマ区切りのテキストデータです。タブ区切りの場合もあります。 htmlStart 名前,英語,国語,数学 Aさん,95,50,82 Bさん,39,47,97 Cさん,...

2019年 PHPのSMTP送信はインストール不要のPHPMailerが手軽で最短!PEAR終了

2019-07-07

▽現役のメーラー「PHPMailer」ライブラリ ▽PHPMailerでSMTP送信ができたコードの紹介 ▽PHPMailerでSMTP送信の手順1「ダウンロード」 ▽PHPMailerでSMTP送信の手順2「ライブラリ読み込み」 ▽PHPMailerでSMTP送信の手順3「SMTPの設定」 ▽PHPMailerでSMTP送信の手順4「SMTP送信の実行」 ▽PHPMailerでSMTP送信の動作確認済みコード <現役のメーラー「PHPMailer」ライブラリ> 以前、迷惑メールになりにくいということでPEARのSMTP送信の記事を書きましたが、 PEARはPHP7になっ...

【実体験レビュー】最新2021年のPLCで速度が2倍に!家全体どこでもLANが繋げるWiFiが届きまくる!

2019-07-03


▽コンセントがLANポートに?電気配線をLANに変換 ▽マニアックな商品の為?パナソニックが家庭用PLC撤退 ▽PLC性能対決!日本・中国・アメリカ 結果は!?やはりそうか… ▽最新のTP-Link PLCアダプターが届きました ▽旧PLCから新PLCに変えると速度が2倍アップ! ▽PLC設置に必要なものまとめ ▽PLCを自分で購入して設置するのが面倒な方はご依頼ください コンセントがLANポートに?電気配線をLANに変換 10年以上ほど前に、田舎の実家に帰った時、ネット環境はあるものの、 やや大きめの一軒家なのでWiFiの電波が1階から2階まで繋がりませんでした。...

ワードプレスのデータベースの配列データから画像のパスだけを取得

2018-11-27

ワードプレスを外し、独自のシステムに移行する際、画像のエクスポートが苦労しました。 個人的にワードプレスは好みません。クライアントに管理画面を提供する場合は、自分で一から作ったほうがユーザビリティーが圧倒的に良くなるからです。 アップロード画像の記録がある、postmetaテーブルの検索で「meta_key = _wp_attachment_metadata」とすると、データが下記のようになっていた。なんというごちゃごちゃしたデータ。これだからワードプレスは苦手だ。 htmlStart a:5:{s:5:"width";i:731;s:6:"height";i:723;s:4:"f...

DVD及びブルーレイ(Blu-ray)をMP4に変換する方法

2014-11-03


DVDfabでDVD(及びブルーレイ)をMP4にする方法を紹介したいと思います。MP4にしてしまえば、youtubeにアップできるのでどこでも見れるようになるので便利。 今回の例は「海外ドラマで2話が入っている」ケースでの設定で字幕もMP4の映像に入れ込むようにしている。 まず、「リッピング」のメニューをクリックし、チェックボックスでMP4に変換したいところ選択。ドラマなので、同じオープニングが毎回しつこくなってしまうので、チャプターを2-7にしてますが、通常は変更する必要はありません。 次はエンコードの種類を選択。2014年の現在は「MP4」、「WMV」が主流で、今...

関数の引数(ひきすう)・戻り値(もどりち)について

2012-11-19

引数とは…戻り値とは…と言葉で書いてもパッとしなさそうなので、半角のカタカナを全角のカタカナに変換するmb_convert_kana関数を例として見てみよう。 phpStart $zenkaku = mb_convert_kana($hankaku, "KV"); //$hankaku が第一引数 //KV が第二引数 //$zenkaku が戻り値 phpEnd これで用語の意味は分かるかと思います。自分で関数を作る(ユーザー定義関数)時はこの引数と戻り値のことを理解しておかないと便利なものは作れない。 個人的にフレームワークの使い方を覚えるのが面倒なので、自作関数の...

頻繁に使うシーンがある文字列操作群の関数

2012-08-23

文字列の一部分を取り出すsubstr関数は使用するシーンが多いです。長い文章の最初だけを表示する時や、URLから一部分を切り出す時などなど。 <substr()関数 - 最後の2文字を取り出す> phpStart $str = 'https://sample.jp/cate.php?id=06'; echo substr($str, -2); //結果「06」が出力されます。 phpEnd 第2引数にマイナス値を入れれば最後からの文字が取得できます。先頭から2文字を取得する場合は正数を書けばOK。文字列が日本語の場合はmb_substr()を使用しないとバグが起きます。...

生年月日から年齢取得

2012-08-16

プロフィールを登録させる際に年齢の項目を設ける場合は、年齢を入力させるのではなく、生年月日を入力してもらうのが基本です。年齢を入力させてしまうと、データ上その人はずーっと同じ年齢のままになってしまうからです。 生年月日から年齢を求めるの方法はいくつかあるみたいですが、一番短いのが以下の計算方式です。 <計算方式> phpStart $birth = 19811007; $age = floor((date('Ymd') - $birth) / 10000); phpEnd 計算方式は「(今日の日付 - 生年月日) ÷ 10000」で求められるみたいです。floor()...

文字コードの変換

2012-08-04

UTF-8の文字をshift_jisに変換するコードです。携帯サイトを作る場合はdocomoとauがshift_jisで作らないといけないので、文字コードを変更することがあります。EUC-JPはperl時代の時によく使用されていましが、今はUTF-8とshift_jisのどちらかしか使わないですね。 phpStart //mb_convert_encoding(文字列,変換後,変換前); mb_convert_encoding($str,'SJIS','UTF8'); phpEnd あとPCサイトでもメーラーを立ち上げるmailtoのリンクで件名と内容も付属するときはshif...

サイト内のキーワード検索で複合(AND)検索を導入する為のコード

2012-08-04

複合検索は半角スペース区切りのワードに変換して、explode関数で半角スペース区切りで配列に格納し、foreach文でWHEREのSQL文を生成します。foreach文でエラーを出さない為に、ループの前にis_array関数で配列であるかの確認しておきましょう。 htmlStart $q = str_replace(' ',' ',trim($_GET['q'])); //*1 下記説明 $array = explode(' ',$q); if(is_array($array)){ foreach($array as $val){ $str = ($sql)?' AND...

この記事がお役に立てましたら是非シェアのご協力お願いします。