X



PHP質問・雑談スレ5【初心者お断り(ROM歓迎)】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
垢版 |
2018/10/04(木) 16:43:56.93ID:r0iGnrNs
PHPに関する質問や雑談をするスレです。
初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。

PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。
https://mevius.5ch.net/tech/ (【PHP】で板内を検索)

前スレ
https://medaka.5ch.net/test/read.cgi/php/1498653249/

その他リンク
・PHPマニュアル
 https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
 https://ideone.com/
・プログラミングのお題スレ (求PHPer参戦)
 https://mevius.5ch.net/test/read.cgi/tech/1538096947/

このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
 (FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼

このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
 (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
0257nobodyさん
垢版 |
2018/12/16(日) 09:33:59.07ID:rJwJQrl3
よほど計算負荷の高いアプリケーションでない限り
ボトルネックはPHPではなくデータベースになる
0258nobodyさん
垢版 |
2018/12/16(日) 16:05:37.45ID:???
>>256
いやそういうことでなくファイル差し替えで
プログラムをメモリにロードするタイプって意味でいったんだが
駐留じゃなくて常駐って言いたかったん
0260nobodyさん
垢版 |
2018/12/17(月) 08:05:06.87ID:ZwIXn0qD
>>259
ウイルス注意
0261nobodyさん
垢版 |
2018/12/20(木) 05:52:04.27ID:???
PDOにてプリペアドステートメントを使用してmysqlにUPDATEを実行したいと思っています
値0x0001をバイナリで設定したいのですが、プレースホルダを使用して実行すると意図しない結果になってしまいます
どのようにすればよいでしょうか?

//成功パターン
$stmt = $pdo->prepare('UPDATE users SET progress = 0x0001 WHERE id = ?');
$stmt->execute([$_SESSION['id']]);
設定される値:0x0001

//失敗パターン@
$stmt = $pdo->prepare('UPDATE users SET progress = ? WHERE id = ?');
$stmt->execute([0x0001,$_SESSION['id']]);
設定される値:0x3100

//失敗パターンA
$stmt = $pdo->prepare('UPDATE users SET progress = ? WHERE id = ?');
$stmt->execute(['0x0001',$_SESSION['id']]);
設定される値:0x3078

//失敗パターンB
$stmt = $pdo->prepare('UPDATE users SET progress = ? WHERE id = ?');
$stmt->bindValue(1,0x0001, PDO::PARAM_INT);
$stmt->bindValue(2,$_SESSION['id'], PDO::PARAM_INT);
$stmt->execute();
設定される値:0x3137

//失敗パターンC
$stmt = $pdo->prepare('UPDATE users SET progress = ? WHERE id = ?');
$stmt->bindValue(1,'0x0001', PDO::PARAM_STR);
$stmt->bindValue(2,$_SESSION['id'], PDO::PARAM_INT);
$stmt->execute();
設定される値:0x3078
0262nobodyさん
垢版 |
2018/12/20(木) 11:55:13.98ID:???
phpは複数書き方がある時、どれがベストかを教えて欲しい
気づかない内に非推奨、廃止とか悲しい
0263nobodyさん
垢版 |
2018/12/20(木) 11:59:40.24ID:???
PDO::PARAM_バイナリ みたいなやつってある?
0264nobodyさん
垢版 |
2018/12/20(木) 12:01:03.31ID:???
>>261
配列を直接指定せず変数に代入してからだとうまくいくのでは?
0265nobodyさん
垢版 |
2018/12/20(木) 12:24:55.99ID:???
bit(16)にして"b'".base_converter('0x0001', 16, 2)."'"とか?
0266nobodyさん
垢版 |
2018/12/20(木) 12:43:18.59ID:???
$sql = "insert into test (
progress
) values (
:progress
)";
$stmt->bindValue(':progress', 0x0001, \PDO::PARAM_INT);

これでできた

やり方じゃなくて確認の仕方を間違えてたりしない?
0267nobodyさん
垢版 |
2018/12/20(木) 12:45:09.69ID:???
目的は16進数表示(0x〜〜〜)のデータをint型でDBに格納したいで合ってる?
0268nobodyさん
垢版 |
2018/12/20(木) 12:53:11.37ID:???
配列
$arrayは$array[0]と同等とのこと
ならば
$array="foo";

$array="foo";
$array[]="bar";
とするとエラーになりました

これは、
$arrayは$array[0]と同等に”見做してあげてる”という感じなのでしょうか?
0269nobodyさん
垢版 |
2018/12/20(木) 12:55:00.98ID:???
コードかくとなぜかブロックされてかけねーから日本語でかくけど
失敗パターン3で
プログレス=キャスト(? as ヴァーバイナリ(n))
とかDB側でキャストすればいいんじゃね?
試してないけど
0270nobodyさん
垢版 |
2018/12/20(木) 12:57:27.03ID:???
>$arrayは$array[0]と同等とのこと
え?
0271nobodyさん
垢版 |
2018/12/20(木) 13:10:24.58ID:???
>>268
$array=“foo”の意味
“foo”という文字列を変数arrayに代入 ←配列の変数じゃない

$array[]=“bar”の意味
“bar”という文字列を配列変数arrayに代入

エラーになるのはarrayが配列の変数じゃないのに
“bar”を突っ込もうとするから
0272nobodyさん
垢版 |
2018/12/20(木) 13:40:05.69ID:???
>>270
c言語にそういうのが合った気がする
ただ、単純に見づらすぎるので書い
たことないけど
0273268
垢版 |
2018/12/20(木) 13:40:53.49ID:???
すいません、なにか勘違いしてたようです
特に意味もないようなので、
array[0]
と書くようにします
0274nobodyさん
垢版 |
2018/12/20(木) 13:42:02.40ID:???
>>272
Cにだってそんなものはない

array[i] と i[array] が同じ(どっちも *(array * i) の糖衣構文)というのはあるけど
0275274
垢版 |
2018/12/20(木) 13:42:40.58ID:???
*(array + i)
0276nobodyさん
垢版 |
2018/12/20(木) 13:44:59.08ID:???
c言語だったら参照の話じゃない?
&arrayと&array[0]は一緒 (だった気がする)
0277274
垢版 |
2018/12/20(木) 13:49:54.18ID:???
array と &array[0] だろ
0278nobodyさん
垢版 |
2018/12/20(木) 13:51:01.61ID:???
>>276
あぁ、多分それです
お騒がせしました、申し訳ありません
0279261
垢版 |
2018/12/21(金) 03:03:56.77ID:???
ありがとうございます
教えていただいた方法を色々試してはみたのですがやはりどうもうまくいかず、
DB側の型をINTにして対応することで想定通りの動作にできました
実はもう一点悩んでいるところがありまして、
jQueryのAjaxからPOSTでPHPを呼び出すと、呼び出し元からのPHPセッションが切れてしまいます
そもそもこういう使い方はできないのか、何か間違っているのか教えていただきたいです。
js部分が若干スレチ気味かもしれませんが、よろしくお願いします。

//update.js
function Update(){
$.ajax({
type: "POST",
url: "update_progress.php",
data: {
progress: 0x0001
},
}
}

//update_progress.php
<?php
session_start();
(中略)
$stmt = $pdo->prepare('UPDATE users SET progress = :progress WHERE id = :id');
$stmt->bindValue(':progress',$_POST['progress'], PDO::PARAM_INT);
$stmt->bindValue(':id', $_SESSION['ID'], PDO::PARAM_STR); //$_SESSIONがNULLになる
$stmt->execute();
(後略)
?>
0280nobodyさん
垢版 |
2018/12/21(金) 03:11:36.78ID:???
ajax使ったことないから分からんのだけど
クッキーは送られてるの?
0281nobodyさん
垢版 |
2018/12/21(金) 03:17:12.49ID:???
クロスドメイン?
このページをみると色々設定してるみたいだけど
0283nobodyさん
垢版 |
2018/12/21(金) 03:22:20.31ID:???
ぱっと思いつく要因は二つ
・クッキーが送られてない
・セッションが切り替わってる
0284261
垢版 |
2018/12/21(金) 03:25:34.57ID:???
ありがとうございます!
クッキーかもしれません
送り方を調べています
0285nobodyさん
垢版 |
2018/12/21(金) 03:34:50.41ID:???
>>261では$_SESSION['id']と小文字になってるが
0286nobodyさん
垢版 |
2018/12/21(金) 03:39:12.85ID:???
>>284
送り方調べるより先に原因調べたほうがいいよ
・ブラウザにクッキー(PHPSESSID)が保存されているか
・ブラウザからpost先(update_progress.php)にクッキーが送られているか
0287261
垢版 |
2018/12/21(金) 03:39:27.91ID:???
>>285
すみません、こちらにコードを起こすときに打ち間違えたみたいです
大文字になってるのが本来は正しいです
0288nobodyさん
垢版 |
2018/12/21(金) 03:40:28.62ID:???
var_dump($_SESSION)もやってみてくれ
0289nobodyさん
垢版 |
2018/12/21(金) 03:48:36.02ID:???
>>286の調べ方は
クロームだったら
・アドレスバー左のアイコンをクリック → クッキーを見る
・右クリック→検証→Networkタブをひらく→update.js実行→通信が発生してグラフに線が表示されるのでクリック→リクエスト名をクリック→中段のcookieタブを開く
0290261
垢版 |
2018/12/21(金) 04:06:15.21ID:???
>>289
正常にセッション情報が取得できるページで使用しているクッキーに保存されているPHPSESSIDと、
update_progress.phpに送信されているRequest CookiesのPHPSESSIDは同じになっていることを確認しました
なんでだ...
0291261
垢版 |
2018/12/21(金) 04:10:20.78ID:???
>>288
NULLになります
0292nobodyさん
垢版 |
2018/12/21(金) 04:12:16.39ID:???
var_dump($_COOKIE)は表示される?
0293261
垢版 |
2018/12/21(金) 04:15:29.63ID:???
>>292
直前のページで使用しているクッキーのPHPSESSIDと同じものが表示されます
0294nobodyさん
垢版 |
2018/12/21(金) 04:15:50.93ID:???
print_r(ini_get_all('session'));
でもみてみれば
0295nobodyさん
垢版 |
2018/12/21(金) 04:21:31.43ID:???
>>293
PHPSESSIDを仮に”abc”だとして
1)
直前のページでセッションデータ保存する
→ var_dump($_SESSION) セッションデータ表示される
 var_dump($_COOKIE) “abc”が表示される

2)
update.js実行
→ var_dump($_SESSION) セッションデータ表示されない
 var_dump($_COOKIE) “abc”が表示される



↑今こんな状況?
0296261
垢版 |
2018/12/21(金) 04:26:13.15ID:???
すみません分割になります
[session.auto_start] => Array
[global_value] => 0
[local_value] => 0
[access] => 2
[session.cache_expire] => Array
[global_value] => 180
[local_value] => 180
[access] => 7
[session.cache_limiter] => Array
[global_value] => nocache
[local_value] => nocache
[access] => 7
[session.cookie_domain] => Array
[global_value] =>
[local_value] =>
[access] => 7
[session.cookie_httponly] => Array
[global_value] => 0
[local_value] => 0
[access] => 7
[session.cookie_lifetime] => Array
[global_value] => 0
[local_value] => 0
[access] => 7
[session.cookie_path] => Array
[global_value] => /
[local_value] => /
[access] => 7
0297261
垢版 |
2018/12/21(金) 04:27:13.91ID:???
[session.cookie_secure] => Array
[global_value] => 0
[local_value] => 0
[access] => 7
[session.gc_divisor] => Array
[global_value] => 100
[local_value] => 100
[access] => 7
[session.gc_maxlifetime] => Array
[global_value] => 1440
[local_value] => 1440
[access] => 7
[session.gc_probability] => Array
[global_value] => 1
[local_value] => 1
[access] => 7
[session.lazy_write] => Array
[global_value] => 1
[local_value] => 1
[access] => 7
[session.name] => Array
[global_value] => PHPSESSID
[local_value] => PHPSESSID
[access] => 7
[session.referer_check] => Array
[global_value] =>
[local_value] =>
[access] => 7
0298261
垢版 |
2018/12/21(金) 04:27:45.28ID:???
[session.save_handler] => Array
[global_value] => files
[local_value] => files
[access] => 7
[session.save_path] => Array
[global_value] => /tmp
[local_value] => /tmp
[access] => 7
[session.serialize_handler] => Array
[global_value] => php
[local_value] => php
[access] => 7
[session.sid_bits_per_character] => Array
[global_value] => 4
[local_value] => 4
[access] => 7
[session.sid_length] => Array
[global_value] => 32
[local_value] => 32
[access] => 7
[session.upload_progress.cleanup] => Array
[global_value] => 1
[local_value] => 1
[access] => 2
[session.upload_progress.enabled] => Array
[global_value] => 1
[local_value] => 1
[access] => 2
0299261
垢版 |
2018/12/21(金) 04:28:16.58ID:???
[session.upload_progress.freq] => Array
[global_value] => 1%
[local_value] => 1%
[access] => 2
[session.upload_progress.min_freq] => Array
[global_value] => 1
[local_value] => 1
[access] => 2
[session.upload_progress.name] => Array
[global_value] => PHP_SESSION_UPLOAD_PROGRESS
[local_value] => PHP_SESSION_UPLOAD_PROGRESS
[access] => 2
[session.upload_progress.prefix] => Array
[global_value] => upload_progress_
[local_value] => upload_progress_
[access] => 2
[session.use_cookies] => Array
[global_value] => 1
[local_value] => 1
[access] => 7
[session.use_only_cookies] => Array
[global_value] => 1
[local_value] => 1
[access] => 7
[session.use_strict_mode] => Array
[global_value] => 0
[local_value] => 0
[access] => 7
[session.use_trans_sid] => Array
[global_value] => 1
[local_value] => 1
[access] => 7
0300261
垢版 |
2018/12/21(金) 04:36:31.82ID:???
>>295
そういう感じです
0301nobodyさん
垢版 |
2018/12/21(金) 04:41:12.15ID:???
session.save_pathのところにセッションファイルが保存されていると思うけど
>>295の(1)から(2)に遷移するタイミングでファイルが上書きされてる?
0302nobodyさん
垢版 |
2018/12/21(金) 04:52:36.19ID:???
セッション保存した後にunset関数呼んじゃってるとか?
0303nobodyさん
垢版 |
2018/12/21(金) 04:55:41.08ID:???
session_destroy();とか
0304261
垢版 |
2018/12/21(金) 05:06:27.36ID:???
>>301
上書きされていました
たぶんこいつが原因ですよね
なんでや...

>>302-303
ログアウト処理では行っているところもありますが、それ以外だと無い感じです
0305nobodyさん
垢版 |
2018/12/21(金) 05:27:24.07ID:???
そのテストはどの環境でやってる?本番?ローカル?
本番なら共用サーバー?
0307nobodyさん
垢版 |
2018/12/21(金) 05:49:45.29ID:???
初心者受け付けるようになったんだな
0308nobodyさん
垢版 |
2018/12/21(金) 05:50:53.53ID:???
session_destroyかsession_regenerate_id実行してる位しか思いつかない
0309nobodyさん
垢版 |
2018/12/21(金) 06:14:55.33ID:???
共用サーバなら/home/user/public_htmlがドキュメントルートだとして
/tmpじゃなくて/home/user/tmpとかに変更するとうまくいく場合がある
0311nobodyさん
垢版 |
2018/12/21(金) 12:36:57.35ID:???
>>310
再現しないよ
cookie無効になってるだけでは?
0312nobodyさん
垢版 |
2018/12/21(金) 15:35:25.25ID:???
update.jsは正常に動作してる?
jquery読み込めてなくてajaxが動作してなくてupdate.php叩けてないとかじゃない?
0313nobodyさん
垢版 |
2018/12/21(金) 16:08:22.02ID:???
>>312
叩けてなければセッションが取れないとか言わないでしょう
たふん…
どっちにしろPHP関係ない可能性大だね
0314nobodyさん
垢版 |
2018/12/21(金) 16:16:10.51ID:???
謎だね

ブラウザから直打ちでupdate.php叩いたらうまくいくの?
0315nobodyさん
垢版 |
2018/12/21(金) 16:27:26.02ID:???
ajaxに関係なくセッションデータが利用できない環境なのか
ajaxが絡むとセッションデータが利用できなくなる環境なのか
0316nobodyさん
垢版 |
2018/12/21(金) 16:54:20.19ID:???
ちなみに俺も(>>311とは別人)ローカル環境で試してみたけど上手くいった
0317nobodyさん
垢版 |
2018/12/21(金) 17:08:23.81ID:???
とりあえず書いておくがGCPのGAEで確認したがIE11のセキュリティゾーンがインターネットだとcookieがガードされてセッションは取得出来なかった
セキュリティゾーンを信頼済みに変えるとOK
スレチなのでこの辺で
0318nobodyさん
垢版 |
2018/12/21(金) 17:17:49.35ID:???
>>293のクッキーとれてるってのは勘違いか
0320nobodyさん
垢版 |
2018/12/21(金) 18:27:15.80ID:???
PHP側で確認するならタイムアウト時間とかセッション管理をDBにしてみるとかか?
0321261
垢版 |
2018/12/21(金) 19:22:20.27ID:???
遅くなりすみません
>>312
再配布いいんだっけと思って、jquery同梱していませんでした
update.js自体は動作しました

>>314
update.phpのPOST要素を無くして、login.php開いてる状態からupdate.php直打ちしてもうまくいきませんでした

>>316
$_SESSIONが拾えなくてSQL失敗しててもjs側では成功と表示されるのですが、
そういう意味ではなく・・・?

使ってる環境がバリュードメインのコアサーバー+Chromeなんですが、そのせいなのかな・・・
0322nobodyさん
垢版 |
2018/12/21(金) 19:34:06.11ID:???
>>321
セッション拾える

>update.phpのPOST要素を無くして、login.php開いてる状態からupdate.php直打ちしてもうまくいきませんでした
セッション拾えないって意味?
0323nobodyさん
垢版 |
2018/12/21(金) 19:36:23.88ID:???
login.phpでセッション保存できてもupdate.php直打ち実行で
セッション表示されないって話ならajax関係ないな
0324nobodyさん
垢版 |
2018/12/21(金) 20:00:36.19ID:???
別ブラウザ、別PC・スマホとか端末かえてみてもだめなら、
サーバ側に問題があるのでは?
ユーザ設定ファイルのphp.iniや.htaccess設置してたら削除してみたり、
cronの設定削除してみたり、
削除してだめならsave.path変更とか、phpのセッション周りの設定変えてみたり、
レンタルサーバだと問題の特定は難しいけど、
デフォルトでPHPセッションがおかしくなる環境が提供されてるとは考えにくい。
0326261
垢版 |
2018/12/22(土) 05:16:09.12ID:???
お世話になっています
セッションが切れてしまう問題ですが、原因がわかり問題が解決いたしました
結果を言いますと、update.phpの先頭1行目に空白の改行があったことが原因でした
本番用のコードにもテスト用の最小構成コードにも空白行があり、そのため動作していなかったようです
色々手助けしていただき助かりました
ありがとうございました
0327nobodyさん
垢版 |
2018/12/22(土) 10:32:34.17ID:???
ど、どういうことだってばよ・・・
0328nobodyさん
垢版 |
2018/12/22(土) 11:13:14.04ID:???
解決してよかったけど、うーん、死ねってのが本音だぁ・・・
0329nobodyさん
垢版 |
2018/12/22(土) 11:32:07.48ID:???
「再現可能な」←再現しないコードをばら撒いて騒いでました
ペチパーはほんと民度が低いな
0331nobodyさん
垢版 |
2018/12/22(土) 12:10:02.01ID:BOcCfZD5
きっとおまえんちの部屋の中も
お前のコードと同じように無秩序で
足の踏み場もない汚部屋なんだろうな
0332nobodyさん
垢版 |
2018/12/22(土) 12:49:22.09ID:???
IDE(いったい 誰が気にする ええじゃないか)を使えばジャンプできるから問題ない
0333nobodyさん
垢版 |
2018/12/22(土) 15:10:28.84ID:???
再現したコードをこのスレに上げたけど環境によって
再現しないって話だからしょうがないと思うけどな

まー次からはこのスレ使うといいよ
【PHP】下らねぇ質問はここに書き込みやがれ 10
http://mevius.5ch.net/test/read.cgi/tech/1543392526/
0334nobodyさん
垢版 |
2018/12/22(土) 17:27:15.78ID:???
よくしらんがバリュードメインのコアサーバーって
無料のやつで先頭に広告が挿入されるようなやつか?
そうだとしても先頭空行でPHPが機能しないとか謎すぎる
0336nobodyさん
垢版 |
2018/12/23(日) 04:27:53.70ID:???
なるほど、headers already sentか。
確かにsession_start()はset-cookieしなきゃいけないからな。
しかし完全にオマ環だな。こりゃエスパーでも難しい。
WARNINGまで切っちゃってるのはレン鯖にありがちだが、
開発段階ならちゃんとerror_reportingだすようしないと。
0337nobodyさん
垢版 |
2018/12/23(日) 07:08:39.13ID:???
俺のローカル環境php.iniみたらoutput_buffering 4096になってたわ
>>261のレンサバはオフになってるのだろう
0338nobodyさん
垢版 |
2018/12/28(金) 04:50:53.86ID:???
気づけばプロ並みPHP読んでるけど難しというより面倒くさすぎて挫折しそう
会員登録システム作るだけでこんな面倒くさいのかよ
0339nobodyさん
垢版 |
2018/12/28(金) 05:00:28.65ID:???
会員登録システムなんて初歩の初歩だろ
0340nobodyさん
垢版 |
2018/12/28(金) 06:33:35.78ID:???
俺は今PHPで汎用型POSレジシステムを構築しようとしているぜ
0341nobodyさん
垢版 |
2018/12/28(金) 09:53:26.61ID:???
>会員登録システム
これはかなり鬼門だぞ。フレームワーク使ったほうが良い
セキュリティ方面はマジで沼だから初心者が手を出すべきじゃない
0342nobodyさん
垢版 |
2018/12/28(金) 09:57:03.41ID:???
初心者から勉強するならフレームワーク使うな
自分でセキュリティ含めて考えながらやるべき
その後フレームワークを使え
0343nobodyさん
垢版 |
2018/12/28(金) 10:00:14.04ID:???
期間決めて考えながらプロトタイプを作ってみる事はアリだと思うけど、
それをそのまま本番で使ってしまわないか心配だ
0344nobodyさん
垢版 |
2018/12/28(金) 11:43:04.19ID:???
ろくなフレームワークすらなかったPHP4の時代から独学で身につけたけど
今からPHPやるならフレームワークから入るってのもありなのかね
※今からやるなら他の言語をやれというのは無しでw

色々と便利なものはたくさんできたが
昔はウェブアプリといえばperlかPHPって感じで選択肢はあまりなかったけど
今から始める人は、選択肢がたくさんありすぎて訳わかんなくなったりするんだろうな
0345nobodyさん
垢版 |
2018/12/28(金) 12:07:47.18ID:???
最近は古い記事が検索にかかりにくくなっているから大分マシじゃないかな
昔は古い記事が普通に残っていたので本当に混乱してたわ
0346nobodyさん
垢版 |
2018/12/28(金) 13:30:53.38ID:???
でもPHP関係の質問を見てると
未だにDB処理にリペアドステートメント使ってないとか
酷いのになると mysql 関数をまだ使ってるとか
結構あるんだよなぁ

ああいうのは何を見てまねしてるんだろ

PHPならまずはこの本を読め!ってのが無いのも問題か
ひょっとしたら今は決定版みたいな本があるのかもしれないが
少なくとも俺はPHP関係の本を買った事が一度もないw
0347nobodyさん
垢版 |
2018/12/28(金) 13:55:39.98ID:???
mysql 関数はmysqli 関数に置き換えれば済む・・・そう思っていた時期が僕にもありました
古いwordpressは内部的にmysql関数使っててびびったゾ
0348nobodyさん
垢版 |
2018/12/28(金) 17:32:57.13ID:???
別にmysqliでもいい
無理してPDOにする必要はない
公開するわけじゃないし
結局PDOで書いても対応DBは1つなんだから
0349nobodyさん
垢版 |
2018/12/28(金) 17:46:57.69ID:???
PHP使ってるならSQLiteを使わないのはもったいないと思うけどね

個人の趣味程度のサイトならSQLiteの方がよほど手っ取り早い
もし負荷的にSQLiteで問題が出てきたらMySQLに変える
なんて事が、PDO使ってたら一瞬でできる

MySQLでしか使えない関数ももちろんあるけどさ
基本的なSQLはほぼ完全互換だし(当たり前)
0350nobodyさん
垢版 |
2018/12/28(金) 18:12:25.99ID:???
まずAUTOINCREMENTとAUTO_INCREMENTとSEQUENCEで既に違うのが面倒い
複数DB対応するならSQLを抽象化したい
0351nobodyさん
垢版 |
2018/12/28(金) 18:20:23.43ID:???
>>349
>基本的なSQLは「ほぼ」完全互換
ライトユーザーはwordpressだし、その辺がねぇ
0352nobodyさん
垢版 |
2018/12/28(金) 19:08:33.57ID:???
>>350が全部言ってるけど
結局PDOじゃ修正が必要になるわけで
将来的に別DBへのアップデート考えてんなら
最初からORM使っとけよって話だし
0353nobodyさん
垢版 |
2018/12/28(金) 19:40:08.69ID:???
>>351
WordPressはSQLite使えるでしょ
ひょっとしたら今のバージョンは使えなくなってるのかもしれないけど

つまり、実際にMySQL⇔SQLiteを柔軟に切り替えられるものはあるってこと


ライトユーザーこそWordPressなんか使っちゃ駄目だと思うんだよなぁ

2018年末頃頃だけでもプラグインの致命的な脆弱性のニュースを
何回も見て笑ってしまったw
そりゃ乗っ取られもするわ
0354nobodyさん
垢版 |
2018/12/28(金) 19:47:19.23ID:???
”個人の趣味程度”って話へドヤ顔でORMとか言われても…な
sqliteはたしかに楽だよな
ファイルがロックしちゃうのが弱点だが更新の少ないウェブアプリなら全然あり
0355nobodyさん
垢版 |
2018/12/28(金) 19:51:25.02ID:???
>353
どんなFWでも使えるし、プラグインなら更に楽に導入できる
問題はセキュリティ面やphp・SQL・apacheなどの低級なところで問題が見つかった場合
SQLliteはなんだかんだでマイナーなので、その辺を担保できる補償がない
てか、俺hは無理だ
0356nobodyさん
垢版 |
2018/12/28(金) 19:57:19.68ID:???
俺はスマホアプリもやるんでSQLiteがマイナーとか言われちゃうとモヤっとしちゃう
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況