2023-06-03
PHPでのSQLインジェクション対策ならプリペアドステートメントが有名です。
(プリペアド・ステートメントは静的プレースホルダ、バインド機構と呼ぶ場合もあるようです)
PDO派ではなく、mysqli派の方へ向けたプリペアドステートメントの記述方法の紹介です。
コードを見ればなんとなく分かると思います。
prepare関数にて「?」を仕掛けた数だけ、bind_param関数の引数の数に関係します。
<削除 DELETE>
phpStart
$id = htmlspecialchars($_POST["id"]);
$stmt = $mysqli->prepare("D...
2018-10-21
jqueryでラジオボタンの値を取得した際にalertで値を確認すると「undefined」と表示され、
if文による空チェックがうまくいかなかったが、調べて解決したので記録のために残しておきます。
htmlStart
var hensu = $("input[name='hensu']:checked").val(); //ラジオボタンの値
if(hensu == ""){} //この記述では空のチェックができません
htmlEnd
いくつかやり方があるようですが、この方法が一番無難だとされているようです。
htmlStart
var hensu = $("input[nam...
2018-10-05
データベース周りは未だに「mysqli派」ですが、ようやくPDOを使ってみようと決断。
PHP5.1以降に標準で利用できるようになったようで、ライブラリの読み込みは必要がない。
基本となる、接続・取得・追加・更新・削除の一連を動作確認しました。
使い勝手は良さそうで、PEAR::DBはもう完全にオワコンであることがはっきりしました。
※xamppでは下記コードでちゃんと動作しました。
phpStart
//mysqlアカウント
$DB['host'] = 'localhost';
$DB['user'] = 'user';
$DB['pass'] = 'pass'...
2018-10-03
PHPのキャリアは10年くらいで、フレームワークは一切使用せず、独自PHPで作成をする派です。
誰よりもあらゆるポータルサイトを早く作る自信があり、開発コストもかなり下げられる我が誇りの技術。
かなりの大掛かりで複数人での開発ならフレームワークを覚える必要があるのだろうが、
基本一人で全てこなす案件しかしないので、覚える必要がない。個人的にはスピード第一。
データベース周りは「mysqli派」です。というのも大抵のレンタルサーバーはmysqlだから他のを使う機会がありませんでした。
そんな私が、重い腰をあげてPEARライブラリのPEAR::DBを試してみた。
DBの基本であ...
2014-08-14
phpStart
$num = 0;
if($num){
処理されない...
}
phpEnd
上記の分岐分は処理されないコードの一例。「0」はfalseと判定されるのがPHPの仕様である。
しかし、「0」はtureと判定し、変数が空の場合のみfalseと判定したい時が多々出てくる。
そこで、よく出てくるなら関数化をしておくのがオススメ。
phpStart
function karaChk($str){
if(!is_null($str) && $str !== ""){
$flag = true;
}else{
$flag = false;
...
2012-09-18
フォームやカートなどで重宝するcookie(クッキー)の操作を簡単にする定義関数。クッキーを配列で使用することでシンプルな組み方が実現されてます。この関数があればクッキー操作が格段にラクになるのでオススメです。
phpStart
define(_TIME_OUT_,time() + 30 * 86400); //一ヶ月保持
function makeCookie($array,$cookie_name) {
foreach ($array as $text => $value) {
setcookie($cookie_name."[$text]",$value,_TIME_...
この記事がお役に立てましたら是非シェアのご協力お願いします。