PHP + MySQL
■ このスレッドは過去ログ倉庫に格納されています
0001ECY
NGNG0747nobodyさん
03/03/16 15:34ID:qwCMGIZU完璧だと思ってたらバグ潰し中にヤバイことに気づいた。
SQLは大文字小文字を区別しないらしいのだ。
select * id='test'でも
select * id='TEST'でも
同じ結果になってしまう。
(移植したい)現行のログがすでに大文字小文字混じっているので
大文字は不可とか強制にはしないで
大文字小文字両方使える&区別させる
(・∀・)イイ!方法はないでしょうか?
0748nobodyさん
03/03/16 15:35ID:qwCMGIZUselect * from log where id='test'でも
select * from log where id='TEST'でも
だ。
だれかお助け〜
0749nobodyさん
03/03/16 15:40ID:???0750nobodyさん
03/03/16 15:55ID:vZDlaTYB0751nobodyさん
03/03/16 17:17ID:KuvmbFJCマニュアル嫁や
--
CHAR および VARCHAR フィールドの値はテーブルの生成時に BINARY 属性が
つけられない限り、大文字と小文字を区別しないでソート・比較されます。
BINARY 属性はその列の値が大文字、小文字を区別して、MySQLサーバを
実行しているマシンのASCII順にソート・比較されることを意味します。
0754nobodyさん
03/03/26 17:17ID:aQSLS2M4実際には別々のロックとして機能させる事は出来ないんですよね?
(GET_LOCKは名前に関わらず呼び出した時点で未開放のロックは解除してしまうみたいなので・・・)
テーブル毎にロックするスマートな方法はありませんかな・・・?
0756nobodyさん
03/03/29 04:17ID:???0757nobodyさん
03/04/10 09:13ID:Gvrywi5t逆に、「あるフィールド以外すべてセレクト」というふうなクエリーはかけないのでしょうか?
0758うんこ
03/04/11 05:12ID:0xz1/vPl"Flushなんとか"ってもの4つくらいしかメニューに出ないんですが・・・
どうしたらよいですか?
0761nobodyさん
03/04/15 10:21ID:???0762山崎渉
03/04/17 12:06ID:???0763nobodyさん
03/04/17 13:47ID:TKMGs//Q原子性が大きく損なわれる・・・、といってみるテスト
0764山崎渉
03/04/20 06:04ID:???( ^^ )< ぬるぽ(^^)
0765nobodyさん
03/04/23 12:33ID:0FJvBfYuてなテーブルがあるとき、 ORDER score DESC でソートしたあと表示すれば、
スコアランキングの完成なのですが、
「自分が何位なのか」をさくっと取得できる方法って無いですかね。
普通に全種得したあと player_id が一致するものを探す、ぐらいしか思いつかなくて。
0766nobodyさん
03/04/23 13:28ID:???自分よりscoreが上のものが何人か勘定しる
SELECT score FROM my_table WHERE player_id = '$foo';
自分のスコアをどっかに記憶(例えば$my_score)
SELECT count(*) + 1 FROM my_table WHERE score > $my_score;
0768nobodyさん
03/04/23 18:28ID:aG9NAudL0769動画直リン
03/04/23 18:29ID:wyYrHR5Q0770質問さん
03/04/23 22:52ID:m9D4gJ4YPerlであったqq();のような関数はPHPにはないのでしょうか?
エスケープシーケンスで\"とかやるのはHTMLが見にくくなって嫌なのですが・・・。
よかったら誰か教えてくださいお願いします。
0771質問さん
03/04/23 22:53ID:m9D4gJ4Y0773初心者さん
03/04/25 11:18ID:???↑のようなテーブルで常に最新のTXTのみを表示させるにはどうすればいいでしょうか?
日によってTXTの件数が変動してしまうのでLIMIT関数が使えなくて…
NAMEには名前、DATEには日付、TXTにはテキスト文が入っています。
わかりにくくてすいません…
0774nobodyさん
03/04/25 14:32ID:???0775初心者さん
03/04/25 14:46ID:???返信ありがとうございます。
ええと例えば今日入力したものだけ表示する、と言ったものを作りたいのです。
↑の方法だと過去に入力されたものまで全件表示されてしまって…
0776初心者さん
03/04/25 15:35ID:???(今日入力されていなければ最後に入力した日のデータ)
させるようなものです。連続申し訳ない;
0777nobodyさん
03/04/26 04:15ID:???現在PHP+MySQLの環境で仕事していて、
SQLのステートメントってどうやって管理したら
メンテナンス性がよくて管理しやすいかという問題をここ最近よく考えます。
最初はまあ何もわからんのでページのソースに直書きしてて、
こりゃメンテしにくい汚いとわかってきて、
各SQLステートメントに名前つけてその名前引数で
SQLを取得する一個のfunctionで1ファイルに全SQLをまとめてみたり、
テーブル毎に1テーブル1クラス1ファイルっぽい感じにまとめてみたり
色々やってみてはいるんですがどうもエレガントでないというか、
微妙に見通しが悪いというか、管理しにくいんです。
実際のところみなさんどうやってSQL管理してますか?
使ってるDBにストアドプロシージャがあってちゃんと使えれば
そんな問題は解決するもんなんですか?そういう問題じゃない?
なんか書いててこれで伝わってるのかどうかよくわからないですが
スマートにSQLを管理する方法があれば教えていただきたいです。
0778nobodyさん
03/04/26 18:40ID:???ここがたいへん参考になる
http://www.phppatterns.com/index.php/article/articleview/25/1/1/
0779777
03/04/28 01:42ID:???う〜んなんとなく言わんとしてる事は伝わってくるんですけど、
結局、クラスとして隠蔽しても結局は中では
ステートメントを書く必要はあるわけで、
そこに変更が出た際はやっぱり中いじらないといけないわけで、
みたいな悩みから抜け出せないんすよ。
それはちゃんと俺が理解しきれてないからでしょうかやっぱ。
PEARのDatabase DataObjectsのSQLビルダーみたいなモデルというか
考え方でSQLステートメント自動生成っちゅうかステートメントを
完全にとは言わないまでもある程度中を意識することなくSQLを
外側から自動的にSQLステートメントを構築する仕組みができないだろうか、
という考え方と、SQLを意識して一括管理でスマートにやれる方法はないかの
2分化にどうしても行き着いちゃうみたいな。
もうちょっと詳しく>>778のとこ読んでさらに考えてみます。
あと、実際仕事ではどうしてるかとか、こんな考え方もあるよみたいなのが
あれば教えていただければ幸いです。
0780nobodyさん
03/05/02 21:04ID:HZhgt5uYいまは登録時にmd5()したものをDBにいれといて
認証時に入力されたパスワードをmd5()したものと
つきあわせてます。でもこれだとよくある
「パスワードを忘れた方はこちら」みたいに
パスワードを通知することができないですよね。
生のパスワードを保存しておくのは抵抗あるし・・・
0781gn355my0
03/05/02 21:07ID:???0782動画直リン
03/05/02 21:10ID:iWiIA6UO0783nobodyさん
03/05/03 00:28ID:rRtJ13mc0786780
03/05/03 11:28ID:???やっぱそれが一般的なのでしょうか。自分もいまはそうしてます。
>>785
そういう関数があればと思ったのですがないですよね。
やっぱ自前で実装するしかないか・・・
0788nobodyさん
03/05/08 20:23ID:YPfgT5kA0789788
03/05/08 20:40ID:YPfgT5kAhttp://vps.rapidsite.jp/service/index.html
を選ぶことになりまつか?
0790nobodyさん
03/05/09 01:35ID:???用途に応じて工夫の仕方があると思うけど…
どういう用途ですか?
0791nobodyさん
03/05/09 17:41ID:Qd0hLrnmエクセルで作成したデータの取り込みについて知りたいので・・・。
よろしくです。
0792☆
03/05/09 22:45ID:E81PY8iHCSVにしてテキストファイルの読み込みでインポートではダメなん?
0793791
03/05/10 10:07ID:TaH04ytn設定の仕方がイマイチよくわからないっす。
0794nobodyさん
03/05/17 05:25ID:ghc51a2pwith-extra-charsets=allで作成した場合
PHPからeucで接続
デスクトップぷりからUTF8で接続
同時に接続なんて出来ませんか?
0795nobodyさん
03/05/17 05:41ID:???何か(ブラウザ、デスクトップぷり) → php → データベース のように接続した場合、
各「→」の部分で文字コードに応じて処理をすれば可能でしょう。
0796nobodyさん
03/05/17 06:43ID:0rspM7nm【台北16日時事】台湾衛生当局は16日、大阪へのツアー旅行から戻った台湾人医師に、
新型肺炎(重症急性呼吸器症候群=SARS)の疑いがあることを明らかにした。
日本滞在中に発熱があったが、自分で薬を服用し、一時熱が下がったという。
感染が確定した場合、日本で発症した疑いがある。
医師は8日に大阪入りし、13日に台湾に戻った。台北市内の総合病院「馬偕紀念病院」の
救急診療部門に勤務しており、旅行前、新型肺炎患者の治療に当たった。この患者は既に
死亡している。医師は現在、同病院内で隔離治療を受けている。
http://accessplus.jp/staff/in.cgi?id=11141
0797nobodyさん
03/05/18 02:23ID:???mysql_install_db.shとsafe_mysqld --user=mysql &
を実行する前にコンパイルした奴を消しちゃいまし
た。。もう一度コンパイルしなおすしかないですか?
それともバイナリとってきて、その中のやつを実行
しちゃってもいいんでしょうか。
0798nobodyさん
03/05/18 05:56ID:CSE2sYnQwin2000sp2にインストールしました。
質問なのですが、2chのdatデータをSQLのデータに変換できたら
スレッドを越えて名前やIDで検索できたりいろいろと便利そうです。
「2ch(or2ちゃんねる) dat sql 変換」でグーグル検索をしても
情報がなかったので、あまりやっている方はいないのかもしれないのですが
これを実現するには何を勉強したらよいでしょうか?
自分なりに考えたのですが、perlやrubyなどのテキスト処理言語と
mySQLが最低限必要で、ブラウザから便利に検索するには、それらに加えて
PHPやapacheも必要なのではないかと考えたのですが、いかがでしょうか?
もしよろしかったら、ご指導お願いいたします。
0799_
03/05/18 06:26ID:???( ・∀・)/< こんなもの見つけたっち♪
http://togoshi.ginza.st/mona/mona10.html
http://www.togoshi.ginza.st/mona/mona08.html
http://togoshi.ginza.st/mona/mona05.html
http://www.togoshi.ginza.st/mona/monaz07.html
http://togoshi.ginza.st/mona/mona06.html
http://www.togoshi.ginza.st/mona/mona02.html
http://togoshi.ginza.st/mona/mona04.html
http://www.togoshi.ginza.st/mona/mona03.html
http://togoshi.ginza.st/mona/mona01.html
http://www.togoshi.ginza.st/mona/mona09.html
0800nobodyさん
03/05/18 06:50ID:???負荷により不可。
0801798
03/05/18 07:04ID:???個人的な利用を考えています。
公開できればもっと良いと考えていますが、とりあえずは一人用のものが
できれば・・と考えています。
0802bloom
03/05/18 07:08ID:rGbr42DC0803かおりん祭り
03/05/18 08:08ID:???( ^▽^) < こん なのございまーす♪
http://togoshi.ginza.st/hankaku/jaz06.html
http://www.togoshi.ginza.st/hankaku/jaz02.html
http://togoshi.ginza.st/hankaku/jaz05.html
http://www.togoshi.ginza.st/hankaku/jaz08.html
http://togoshi.ginza.st/hankaku/jaz01.html
http://www.togoshi.ginza.st/hankaku/jaz10.html
http://togoshi.ginza.st/hankaku/jaz04.html
http://www.togoshi.ginza.st/hankaku/jaz03.html
http://togoshi.ginza.st/hankaku/jaz09.html
http://www.togoshi.ginza.st/hankaku/jaz07.html
0804動画直リン
03/05/18 09:08ID:rGbr42DC0805紺野あさみ
03/05/18 13:24ID:???川o・-・)ノ <先生!こういうのがありました!
http://www.togoshi.ginza.st/konno/konno01.html
http://togoshi.ginza.st/konno/konno04.html
http://www.togoshi.ginza.st/konno/konno10.html
http://togoshi.ginza.st/konno/konno07.html
http://www.togoshi.ginza.st/konno/konno08.html
http://togoshi.ginza.st/konno/konno05.html
http://www.togoshi.ginza.st/konno/konno03.html
http://togoshi.ginza.st/konno/konno06.html
http://www.togoshi.ginza.st/konno/konno02.html
http://togoshi.ginza.st/konno/konno09.html
0806nobodyさん
03/05/18 14:39ID:NCFj4xES佐川とロジテムどっちがひどい?
田中真紀子と親密な日本ロジテム(日清系 上場企業 みずほの融資先)の
子会社せいも素(みずほの融資先)で
サービス残業させすぎの過労による自殺者が出たんだってね。
http://www.samos.co.jp
http://tmp.2ch.net/test/read.cgi/company/1046775680/l50
. / ̄\ +. ∧_∧アハハハ テンゴクヘイッチャウヨー +
イクナヨー( ´∀`) (´∀` )
(つ つ (つ つ■
. + ( ヽノ ( ヽノ
0807nobodyさん
03/05/18 14:48ID:fx1+Jhvi$sql = "UPDATE user SET namae = 'hayashi' WHERE no = '100';
$result = mysql_query($sql);
MySQLに接続するコードと、上記のコードを書いたphpファイルを
作ってみたのですが、レコードが更新されません。
なぜでしょう??だれかおしえてください〜〜
0809807
03/05/18 15:02ID:fx1+Jhvino ='100' → no = 100 にしたらできました。
なんでかよくわからんですが・・・。
ダブルクオーテーションはこっちに書き忘れただけです、すんません。
0810bloom
03/05/18 15:08ID:rGbr42DC0812nobodyさん
03/05/18 15:33ID:???早いうちにミスして気づいていかないと。
0813807
03/05/18 15:46ID:fx1+Jhvinamae = 'hayashi' のhayashiのところを 変数を使いたい場合、
どうすりゃいいんでしょ汗?
色々やってみましたが、駄目でした。
0814nobodyさん
03/05/18 15:53ID:VD7gKE48. / ̄\ +. ∧_∧アハハハ テンゴクヘイッチャウヨー +
イクナヨー( ´∀`) (´∀` )
(つ つ (つ つ■
. + ( ヽノ ( ヽノ
0815nobodyさん
03/05/18 15:53ID:???普通こうするんじゃない?
0816807
03/05/18 16:05ID:fx1+Jhviできればなぜそうなるのか教えてほしいとこですが、
ちょと自分で調べてきます。う〜〜んもっと勉強せねば。
0817807
03/05/18 16:07ID:fx1+Jhvi教えてくれた人ありがとうございました。精進に努めます
0818_
03/05/18 16:14ID:???( ・∀・)/< このURL見つけたっち♪
http://togoshi.ginza.st/mona/mona10.html
http://www.togoshi.ginza.st/mona/mona08.html
http://togoshi.ginza.st/mona/mona05.html
http://www.togoshi.ginza.st/mona/monaz07.html
http://togoshi.ginza.st/mona/mona06.html
http://www.togoshi.ginza.st/mona/mona02.html
http://togoshi.ginza.st/mona/mona04.html
http://www.togoshi.ginza.st/mona/mona03.html
http://togoshi.ginza.st/mona/mona01.html
http://www.togoshi.ginza.st/mona/mona09.html
0819nobodyさん
03/05/18 17:22ID:???$sql = "UPDATE user SET namae = '${name}' WHERE no = 100";
これでいいんじゃない?
{ } はなくてもいいが必要な場合もあるし、視認性のためにいつも
つけることにしてる
0821nobodyさん
03/05/18 19:40ID:ai9Y3lhLMySQLってこんな物なの?
0822nobodyさん
03/05/18 19:44ID:???0823nobodyさん
03/05/18 19:57ID:ai9Y3lhLMySQLから火は噴くかよ(w
入力したデータがバグっちゃったんだよ。
0824nobodyさん
03/05/18 20:32ID:???0825nobodyさん
03/05/18 22:14ID:???つか、君の設計が「そんなもん」かと。ちゃんと設計しようよ。
あとDB(データの方)の信頼性は、使ってるファイルシステムにも依存する。
DBデータも単なるファイルでっせ。
0826nobodyさん
03/05/18 22:46ID:uOiOSJ6cやばいな・・・
0827私のお金が増えている
03/05/18 23:35ID:c9BgLl5+ここをみてくださいね。
http://www.c-gmf.com/index3.htm
http://www.c-gmf.com/index2.htm
http://www.c-gmf.com/mail.htm
0828nobodyさん
03/05/18 23:37ID:uOiOSJ6cホッ
0829nobodyさん
03/05/19 01:40ID:???% mysql -u root mysql
mysql> SELECT host,user,password FROM user;
+-----------+------+----------+
| host | user | password |
+-----------+------+----------+
| localhost | root | |
| myhost | root | |
| localhost | | |
| myhost | | |
+-----------+------+----------+
userが空になってる行はどういう意味があるの?
0830nobodyさん
03/05/19 03:46ID:???匿名ユーザ。
ビルトインユーザとして入ってると思うけど、匿名ユーザとしての認識のないまま
放置するのは危険なので削除すべし。意図して匿名ユーザを作るのは構わんが、
その場合、mysqlのユーザの認識優先順位とか調べた上で作るべし。
0831nobodyさん
03/05/19 03:55ID:???なるほど。サンクス。postgresと違ってディフルトの
設定が危険なことになってますね。
GRANTやREVOKEってのは user,db,hostテーブルを操作
するラッパーみたいなものなんですか?セッション変数
をMySQLで管理しようと思って導入してみた次第です。
関係ないけどPHP Blackbookにのってるsession handler
のコードは役立ちました。
0832nobodyさん
03/05/19 08:30ID:???Primary key指定せずに大量のデータ(10万レコード単位のオーダー)を動かそうとして
いるんだけど、世の中の手引きってindex作るっつー基本すら説明してないのかなぁ。
あるいはWin"doze"のアプリみたいにマニュアルやReadMeすら読まずに動くと
思ってる昆虫みたいな連中なのか。
0833nobodyさん
03/05/22 00:00ID:???FULLTEXTインデックスも微妙に日本語対応してないみたいやし・・・
0834山崎渉
03/05/22 01:55ID:???0836nobodyさん
03/05/23 02:21ID:???やはりナマズっきゃないのかな・・・
公式のドキュメント(Mysqlはどのようにインデックスを使用するか)にこんなのがあったけど
MySQL 4.0 does another optimisation on LIKE.
If you use ... LIKE "%string%" and string is longer than 3 characters,
MySQL will use the Turbo Boyer-Moore algorithm to initialise the pattern for the string and then use this pattern to perform the search quicker.
これはインデックス作れば最初にワイルドカードつけたあいまい検索でもそれなりに速いということ?
それともインデックス関係無しに最適化されるという話でつかね?
0837nobodyさん
03/05/23 09:02ID:???その一文節前に
以下の SELECT 文はインデックスを使用しません:
って書いてあるじゃん・・・
0838nobodyさん
03/05/23 09:06ID:???Boyer-Mooreを使って検索するというのなら、インデックスを使わない場合の
LIKE "%string%"の検索の舐め方だと思う。あと、どのみち%string%のような
中間一致にはインデックスは使われない。
折れもkakashi使ってインデックス相当のフィールドを生成して
そっち使って検索してる部分もあるが、"分かち書き"で取りこぼしたりするのは
必至なので精度よりも速度が求められるシチュエーションだけだね。
普通LIKE "%string%"の全舐め。楽だし(笑
0839838
03/05/23 09:09ID:???諸事情により茶筅使えないんですわ。
0840nobodyさん
03/05/23 22:06ID:???でも茶筅もカカシも難しそう(つかめんどくさそう)でつね
当面はあいまい検索で我慢して、少しづつ勉強する事にしまつ
0841nobodyさん
03/05/23 23:52ID:KUDYp0Dtという環境で質問です
インストールは全て問題なくできて、PHPもMySQLもそれぞれ
単独での動作は確認できたのですが
試しにphpMyAdmin v2.5.0を入れてPHPからDBにアクセスしてみようとしたら
動作上は何も問題ないのですが、なぜかDBにアクセスするたびに
ビープ音(内臓スピーカーから出る方)が鳴り狂います
鳴り狂うわりには操作自体は全て問題なく行えるので変だなぁと思って
<? php
$userlink = mysql_connect("localhost", "<ユーザー名>", "<パスワード>");
mysql_select_db("test_DB", $userlink);
$result = mysql_query("SELECT * FROM test_table", $userlink);
while ($myrow = mysql_fetch_row($result)) {
echo "$myrow[1]";
}
?>
みたいなコードを書いて実行してみたら
Parse error: parse error, unexpected T_VARIABLE in D:\HTTPD\public_html\test.php on line 2
なんていうエラーが返ってきてconnectすらできませんでした
#phpMyAdminからは日本語データ入力さえも全部正常に動いているのに・・・
エラーコードやらPHP+MySQL+Winやらでググってみても
そんな症状が報告されている例は見つけられず、途方に暮れています
どなたか何が問題なのかとっかかりだけでもわかるかたいらっしゃいませんか?
0842841
03/05/23 23:57ID:???ビープが鳴り狂うくせにどのログにもエラーが残らないのでマジで泣きそうです
0844nobodyさん
03/05/24 01:24ID:???は・・・はずかしい・・・おっしゃるとおりです
しかしピーピー鳴るのは解決せず
ちなみに先のスクリプトだとビープ音は2回
phpMyAdminで、$cfg['Servers'][$i]['user']と['password']だけ設定した場合も2回
ところが['controluser']と['controlpass']も設定すると4回鳴る事がわかりました
わかったところで何故なのかは未だ不明ですが・・・
コマンドプロンプトからは何の問題も無く(ビープも無く)操作できます
0845841
03/05/24 13:34ID:???AnHTTPDのせいだったのね・・・
PATH_TRANSLATEDを使うとかの設定もしたのにナァ
0846nobodyさん
03/05/26 18:20ID:ruGAuzSzMysqlで、テーブルロックせずに同時アクセスがあった場合データが消滅することってあります??
■ このスレッドは過去ログ倉庫に格納されています