2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

teratailもりあがっtail? 59問目

135 :仕様書無しさん:2020/09/07(月) 12:37:58.04 .net
前スレの「MySQLは文字リテラルと数値を勝手に変換する」件の検証方法だけ書いて放置しちゃったから気になってたんだけど、
前スレの997(「まともな技術者」君)、とんでも理論でまとめてきたな。

逆にまとめなおすわ。

まず、2人の記事は、「DB側の変換に頼っていた文字リテラルでの引き渡しに関して、PDOが引き渡し前にintキャストをするケースが出てきたので注意」って内容な。
だから「そもそも「暗黙型変換」とかあてにしてんじゃねーって言うのが俺の言葉 」は正しいけど、それ以外が全部ズレてるっていう惨劇w

キミが最初に言ってた、「phpの型が緩いから争いになるわけ」なんてのは、今回関係ない。
今回の現象の根源は、DBの取り扱う桁とphpのDBドライバ(orライブラリ)の取り扱う桁数の差異によって生じる現象。
よって、DBの取り扱う桁の方が大きければ型が厳密でも不可避。

もっと言うと、自分で「databaseで扱える数かぞえよーぜ!」とか書いてんだから、phpがでかい数字扱えるのは知ってんだろ。
言語の問題じゃないことぐらいそこから気がつけ。

で、次に「MySQLは文字リテラルと数値を勝手に変換する」件、証明方法提示してんだから試せよ。
CREATE TABLE test (id decimal(20, 0));
INSERT INTO test VALUES('12345678901234567890');
INSERT INTO test VALUES(12345678901234567890);
SELECT id FROM test WHERE id = '12345678901234567890';
SELECT id FROM test WHERE id = 12345678901234567890;

試さず否定って、豆腐かw
PDOとMySQLの区別がつかないのに頑張って書き込もうとするから恥をかくんですよ?

根本がずれてるって、何度も指摘されてるんだから、少しは理解しろ。

総レス数 1001
228 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★