[過去ログ]
【PHP】下らねぇ質問はここに書き込みやがれ 13 (1002レス)
【PHP】下らねぇ質問はここに書き込みやがれ 13 http://mevius.5ch.net/test/read.cgi/tech/1631147923/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
986: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [] 2022/09/20(火) 00:39:07.48 ID:Sb2Kpzh+0 phpmyadmin にINT型でUNSIGNED(整数マイナスを除く)に設定したカラムがあります。 直接phpmyadmin上でこのカラムのデータに対して、SQL文でマイナスの値をUPDATEしようとすると 以下のようなアラートが返ってきます。ただし、データは0の値になります。 Warning: #1264 Out of range value for column 'test_int' at row 7 phpから、PDO接続で同じようにUPDATEしたとき、エラーとさせて入力を拒否したいのですが方法がありますでしょうか? try-catch文で、以下のようにしたものの、ただ値が0になるだけしかなりませんでした。 良いアイデアがあれば教えてください。 $a =-100; try { $ps = $db->prepare("UPDATE tb2 SET test_int = :a WHERE nam = 'タヌキ'"); $ps->bindParam(":a", $a); $ps->execute(); echo "UPDATE成功"; } catch (RangeException $e){ echo "UPDATE失敗"; } http://mevius.5ch.net/test/read.cgi/tech/1631147923/986
991: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [sage] 2022/09/20(火) 15:44:19.38 ID:Sb2Kpzh+0 ありがとうございます。 事前チェックが良いですね。ありがとうございます。 データベースからのエラーを拾いたいのは、 トランザクションのコミットかロールバックの判断を try-catchで補足しないといけないかと、 勝手に思っていたからです。 (多くの参考書がtry-catch文で判断していたから) でも、処理毎にエラー文を配列に格納して、 最後の処理の後に、配列の内容の有無を確認して、 トランザクションの判断をすればいいですね。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/991
994: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [sage] 2022/09/20(火) 16:20:00.83 ID:Sb2Kpzh+0 入力の例外値などは、 トランザクションで判別させるようなものじゃない。 ってことですか? http://mevius.5ch.net/test/read.cgi/tech/1631147923/994
995: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [sage] 2022/09/20(火) 16:27:13.11 ID:Sb2Kpzh+0 トランザクションの判別は、何か想定外の問題が起きた時であって、 想定されるような問題は事前になんとかしとけということかな。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/995
997: デフォルトの名無しさん (ワッチョイ ff97-W3aP) [sage] 2022/09/20(火) 16:36:01.02 ID:Sb2Kpzh+0 ありがとうございます。 ということは、トランザクションは、 try-catch文で例外判断するのが一般的なのですね。 http://mevius.5ch.net/test/read.cgi/tech/1631147923/997
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.930s*