PHP + MySQL
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001ECY
NGNG0002echo
NGNG0003初期不良
NGNG両方インストール済んでこれから試そうってところなんだけど。
0004初期不良
NGNG試してみたんですけど、重くて掲示板には向いてないと思ったので...
0005名無しさん@お腹いっぱい。
NGNG厨房くさくてかなわん。
0006名無しさん@お腹いっぱい。
NGNG0007union使えないの?
NGNG0008名無しさん
NGNG女の子と話していて、他の女の話をすると異常に機嫌が悪くなることがある。
「なんで他の女の話を持ち出すの?」とかって。
それと同じ感じで、PostgreSQL の話をしている時に、Oracle などとの比較を
持ち出されると過剰反応する女々しい人が多いので気をつけましょう。
0009名無しさん@お腹いっぱい。
NGNGDBの話をしているのに、なんで女の話を持ち出すの?
0011名無しさん@お腹いっぱい。
NGNG陰部陰部陰部陰部陰部陰部●部陰部陰部陰部陰部陰部陰部
陰部陰部陰部陰部陰部陰部●部陰部陰部陰部陰部陰部陰部
陰部陰●陰部陰部陰部陰部●部陰部陰部陰部陰●陰部陰部
陰部陰部●部陰部陰●●●●●●●陰部陰部●部陰部陰部
陰部陰部陰●陰●●部陰部●部陰部●●陰●陰部陰部陰部
陰部陰部陰部●部陰部陰部●部陰部陰●陰部陰部陰部陰部
陰部陰部陰●陰部陰部陰部●部陰部陰部●部陰部陰部陰部
陰部陰部陰●陰部陰部●●●●●部陰部陰●陰部陰部陰部
陰部陰部●部陰部陰●陰部●部陰●陰部陰部●部陰部陰部
陰部陰部●部陰部●部陰部●部陰部●部陰部●部陰部陰部
陰部陰部●部陰●陰部陰部●部陰部陰●陰部●部陰部陰部
陰部陰●陰部陰●陰部陰部●部陰部陰●陰部陰●●●陰部
陰●●●陰部陰●陰部陰部●部陰部陰●陰部陰●陰部陰部
陰部陰部●部陰●陰部陰部●部陰部陰●部陰●部陰部陰部
陰部陰部●部陰部●部陰部●部陰部●陰部陰●部陰部陰部
陰部陰部●部陰部陰●陰部●部陰●部陰部陰●部陰部陰部
陰部陰部陰●陰部陰部●●●●●陰部陰部●陰部陰部陰部
陰部陰部陰●陰部陰部陰部●部陰部陰部陰●陰部陰部陰部
陰部陰部陰部●部陰部陰部●部陰部陰部●部陰部陰部陰部
陰部陰部陰●陰●●部陰部●部陰部●●陰●陰部陰部陰部
陰部陰部●部陰部陰●●●●●●●陰部陰部●部陰部陰部
陰部陰●陰部陰部陰部陰部●部陰部陰部陰部陰●陰部陰部
陰部陰部陰部陰部陰部陰部●部陰部陰部陰部陰部陰部陰部
陰部陰部陰部陰部陰部陰部●部陰部陰部陰部陰部陰部陰部
陰部陰部陰部陰部陰部陰部陰部陰部陰部陰部陰部陰部陰部
0012名無しさん@お腹いっぱい。
NGNGhttp://www.mysql.gr.jp/
0013名無しさん@お蝮いっぱい。
NGNG買ったけど、なんかいまひとつでした。
「詳しくはマニュアル参照しろ」ばかりなんだもん。
だから今はマニュアル見てます。
0014名無しさん
NGNG多くのデータを検索したい時にはベストの選択だが、多くのユーザーが
一度に登録を行うような場合は、他のRDBMSが向いてる」とありました。
2chのような掲示板をMySQLで作るのは向いてないのでしょうか?
0016名無しさん
NGNG0017名無しさん@お腹いっぱい。
NGNGあとは考えて。
0018名無しさん@お腹いっぱい。
NGNG変数のサイズをチェックするところでこけるんだけど、
対処法知らない?
ちなみに、同じ現象がIRIXとFreeBSDで発生した。
0019初期不良
NGNGhttp://www.asakawa.ne.jp/doc/php/ja/sjis/ref.mysql.html
にも mysql_dbname() が載ってないの?
無いわけないだろうと思って検索かけてみて見つけたけど...
mysql_db_name() だったりして、まあどっちでも動くわけだけど
この辺ってどうなってるの?
0020電動ナナシ
NGNG>>19
本家のページに出てないから仕方が無いんじゃない?
http://www.php.net/manual/en/ref.mysql.php
0021名無しさん@お腹いっぱい。
NGNGわかりやすい一例ね。普通はさ
1.ロック
2.更新
3.アンロック
とやるわけでしょ。MySQLの場合は、このロックしてから放すまでの時間を最
小限に抑えないとダメ。あと、極力ロックしない努力も必要。
とりあえずロックしておけって方針だと、簡単に使い物にならなくなるよ
MySQLにはlast_insert_idとかreplaceとか、あるいはget_lockとかロック
しないための機能がいっぱいあるので、考えよう
002216
NGNGこれまで明示的?なロックは使ったことがないです。
持ってる本には書いてなかったし。
last_insert_id、replace、get_lock を調べてみます。
002321
NGNGおーい。だめじゃーん
MySQLはフツーのデータベースと違って明示的にロックしないと何もロックして
くれないよー
俺がさっき書いたget_lockとかは中級以上の知識だけれど、基本はちゃんと抑え
ないとダメ
基本はあくまで、更新されちゃ困るレコードはロックすることだよ。
MySQLの実際のロックはlock tablesで行うので、こいつを勉強しよう。
get_lockとは名前は似てても全然違うので注意。
それで、ロック中の処理をできるだけ短くするように心がけよう。よほど
アクセスの多い場合でなければ、これで対応できるはず。
002416
NGNGこれまで、insert や update などがそれほどないものしか作った
ことがなかったので、偶然うまくいってただけだったようですね。
このままいってたら今後やばかったです。
勉強になりました。
0025名無しさん@お腹いっぱい。
NGNG>俺がさっき書いたget_lockとかは中級以上の知識だけれど、基本はちゃんと抑え
>ないとダメ
別に煽るわけではないが、
ロックの知識なんて、基礎中の基礎だと思うが...
0026初期不良
NGNGこれが問題なのか?俺も MySQL 使い始めなり
0027初期不良
NGNGhttp://www.softagency.co.jp/mysql/Manual/html/manual.ja_Performance.html#Table_locking
002816
NGNG本に載ってたサンプルとかしか見てなかったわけです。
で、ロックなんて書いてなかったので、MySQLがロックしてくれるんだ
と勝手に思ってました。
とりあえず、lock tables xxx write;と
unlock tables;入れて確認してます。
間にsleep()してテストしてますが、いいんですよね。
私もマニュアルちゃんと読もうかと思います。
ためになる煽りは歓迎です。よろしゅう。
002921
NGNGそうなんだけれど、それを知らずに作っちまう奴もいる。俺が前に
あるサイトの運用を引き継いだときに、まるでロックのこと意識し
てないつくりになってて、データの不整合がおきまくりで、空いた
口が塞がらなかった。
>>26
問題としては、テーブルごとロックしか出来ないっていうのが第一
の問題。一人のユーザしか更新できないでしょ。
第二の問題がタイムアウトできないことだね。
mysql_pconnect()で接続して、ロックしている間に落ちるよう
なプログラムを書くとロックしっぱなし・・・これはPHP3の話だ
けどね。PHP4は使ってないのでわかんない
0030電動ナナシ
NGNGロックがタイムアウトしないのか・・・そりゃひどいねえ。
マニュアル読むと、
・接続が閉じられるか、当該プロセスが Lock を発行しない限り Lock は有効
・他のプロセスの Lock 要求はタイムアウトなしで待たされる
みたいだね。ううむ。
プログラムが落ちて httpd も一緒に落ちていれば問題ないけど、そうじゃない
場合(エラーによる異常終了)とかは問題だよねえ。
当面の回避策としては、
・pConnect は使わない
・適当な(アプリケーションから使わない)テーブルをいくつか用意して、
スクリプトの先頭で lock/unlock する(そうすれば直前のロックが解除される)
# httpd のプロセス数だけテーブルを用意して、互いに lock するテーブルが
重ならないようにランダムに割り当てる
という感じになるのかな。
0031名無しさん@お腹いっぱい。
NGNGただ、こいつは別にデータそのものをロックするわけじゃないという曲者
「こういうデータを更新するときには、こういう文字列でget_lock()を
かける」とかって、明確なルールを作る。
頻繁にかかる更新はget_lock()で、そうでない更新はlock tablesでなん
ていうのも面白いと思う
0032名無しさん
NGNG例えばどのようなものがありますか?
サイトの例などあります?
0033名無しさん@お腹いっぱい。
NGNGこれの本当の意味がわかる奴は少数だと思うけども、
わからない奴は1週間くらいじっくり考えてみな。
それでもわからない奴は、オラクル使った方がいいよ。金かかるけど。
0034名無しさん@お腹いっぱい。
NGNG0035名無しさん@お腹いっぱい。
NGNG0036名無しさんX
NGNGこれでぼくも中級?
0037名無しさん@お腹いっぱい。
NGNGWebに限った話をすると、頻繁にupdateと言うのは少ないかもね
例えば、会員サイトでの会員情報の更新とかはどう?
規模が大きければ、かなりの頻度だと思うが・・・
>>34
マニュアルにヒントっぽいことが書いてあったと思った
0038名無しさん@お腹いっぱい。
NGNG0039電動ナナシ
NGNGこれのこと?
http://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Compatibility.html#Commit-rollback
今の MySQL には Transaction 機能あるから、ロックにこだわる必要性はあんまり
ないと思うんだけど、Transaction に何か問題があるの?
>>38
Transaction 機能 (begin/commit/rollback) 使えばよい。
0040名無しさん@お腹いっぱい。
NGNGMySQLてトランザクションを有効にするとパフォーマンスが落ちるって
小耳に挟んだけど、どうなんだろ。
0041名無しさん@お腹いっぱい。
NGNGトランザクションなしで作れって言われたら怖いなぁ。
あと、トランザクションがあってもロック関係の知識はいるでしょ。
DBMSによってまちまちだと思うけど。
0042名無しさん@お腹いっぱい。
NGNG0043名無しさん@お腹いっぱい。
NGNG0044anonymous
NGNG0045名無しさん@お腹いっぱい。
NGNGというか、もともと参照が中心だからテーブルロックしか
ないんじゃなかった?PostgreSQLは標準で行レベルロック
だから、頻繁に参照がある仕組みとかだと、意外と快適。
MySQLも最近トランザクションが取り入れられたみたいだけど、
やっぱり実績が無いのが不安だよね。
0046名無しさん@お腹いっぱい。
NGNGBegin Tran した時点のデータのみを参照してくれるって機能。
参照の一貫性というのかどうかは知らないのだが。。。
0047電動ナナシ
NGNGDirtyRead (Commit 前のデータが見えてしまう) や、Read Commited
(Commit 後のデータは見えるが、それ以前のは見えない) や、Serializable
(繰り返し Query をかけて同じ結果が得られる) といったやつだよね。
隔離度 (Degree of Isolation) というみたい。
『データベースチューニング 256 の鉄則・下巻』(日経 BP) p.335
http://bpstore.nikkeibp.co.jp/item/main/148222805860.html
『トランザクション処理システム入門』(日経 BP)
http://bpstore.nikkeibp.co.jp/item/main/148222802680.html
が参考になると思う。
0048電動ナナシ
NGNGMySQL の機能ってよりも、MySQL が依存している SleepyCat's Berkeley DB の
機能だよね。BerkeleyDB に Transaction 機能が入ったら MySQL で Transaction の
サポートが可能になったという表現のほうが正しいんじゃない?
http://www.sleepycat.com/docs/ref/txn/intro.html
以前 Zend か MySQL のサイトで MySQL のエンジンに Zend Engine 組み込んで
トランザクションとストアドプロシージャをサポートするってコメントを見たけど、
あれはどうなったんだろう。
0049名無しさん@お腹いっぱい。
NGNG細かい話だけれど、MySQLがBerkley DBを使うようになったのは
トランザクションを実装したかったからじゃないんだっけ?
もとからBerkley DBを使ってたわけじゃないよね?
0050名無しさん@お腹いっぱい。
NGNGええと、トランザクションを使うためにはテーブル作成のときにはBDBという形式
を選択しないといけないんだけれど、このテーブル形式っていろいろとダメなとこ
ろも多いみたい。
MyISAM(デフォルトテーブル形式)よりは遅いですとマニュアルにはっきり書いて
あるし、痛いのがvarcharとかTEXTなどのカラムにインデックスを作れないことかな?
ちなみにMyISAMでvarcharのカラムにインデックス作って検索するとめちゃめちゃ速
いよ
個人的にはMySQLを使うのならBDBを使うのはあんまり賢くないように思う。
トランザクションが欲しいのならOracleなりSybaseなりがいいのでは?
0051名無しさん@お腹いっぱい。
NGNGの結果の最後のほうの
max table row length (without blobs)
table row length with nulls (without blobs)
ってなんでしょう?
0052電動ナナシ
NGNGmax table row length ってのは、テーブルの各行(列数は任意)でサポート可能な
バイト長ってこと。例えば PostgreSQL 7.0 だと max table row length は
7949 ってなってるけど、これは例えば
CREATE TABLE hoge (aText VARCHAR(7950));
CREATE TABLE hoge (aText VARCHAR(4000), aText2 VARCHAR(3950));
というテーブルを定義して使えないということ。前者は一つのフィールドだけで
7949 バイト超えているし、後者は 2 つのフィールドを合計すると 7949 バイトを
超える。
CREATE TABLE hoge (aText TEXT);
ってのは作れるけど、いざ 7950 バイト以上のレコードを挿入しようとすると
エラーになる。
table row length with nulls ってのはよく分からん。
blob っては Binary Large Object のこと。画像とかファイルとかそういった
大きなものを想像して欲しい。通常 blob はレコード長の制限が大幅に緩和
されている。
0053名無しさん@お腹いっぱい。
NGNG0054電動ナナシ
NGNGと
CREATE TABLE (hoge TEXT);
でレコード長が変わる実装ってことなの?
それともそういう意味じゃないのかな?
分からない。鬱だし脳。かぜで朦朧とする・・・。
005546
NGNGそうそう。
電動ナナシさん、貴重な情報ありがとう。
0056名無しさん@お腹いっぱい。
NGNG005751
NGNG「最大の列の長さ」
まさか最大レコード数だったらどうしようかと思ったっス。馬鹿ですね。
レコード数は、ファイルサイズ限界までと考えてよいのでしょうか?
0058名無しさん@お腹いっぱい。
NGNGそんなくだらないこと質問すんな。
0059はぁ
NGNG下のエラーで起動できなかった。
Slackware3.6(Kernel2.2.16)だったんで MySQLインストール
する際に linuxthreads-0.7.1.tar.gz 組み込むまえまでは
正常に PHP4 を DSO で起動できてたんで、なんかファイル
かきかわっちゃたかな。解決策わかるひといる?
Apache1.3.14 + SSL1.42 + Mysql3.23.35 + PHP4.0.4pl1 + jstring
+ linuxthreads-0.7.1 + SlackwareLinux3.6(Kernel2.2.16)
コンパイルは正常終了、起動すると下のエラー
PHP4をスタティックにApacheに組み込むとコンパイル中にエラー
/usr/local/apache/bin/httpsd: can't resolve symbol '__secure_getenv'
Syntax error on line 209 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp4.so into server: Unable to resolve
symbol
/usr/local/apache/bin/httpsdctl start: httpsd could not be started
0060電動ナナシ
NGNG0061名無しさん@お腹いっぱい。
NGNGどうもありがとう。
OpenSSL(openssl-0.9.6)を含め Apache,PHP4 ひととおり
コンパイル、インストールしなおしてみましたがダメでした・・
0062電動ナナシ
NGNGいろいろ出てくるよ。
PHP3 でこのエラーが出るって質問もあった。その回答は「PHP の問題じゃあ
なさそうだね」だった。
glibc のヘッダファイルとライブラリのバージョンがあってないんじゃないかな。
glibc 全体を入れなおしてみたらどうなるかな。
006359です
NGNGコンパイルできなくなってしまいました。
glibc1.tgz
(glibc-2.0.7pre6 runtime support This package contains the
shared libraries, binaries, and support files required to
run most Linux applications linked with glibc.)
glibc2.tgz
(glibc-2.0.7pre6 internationalization files International
support files for glibc -- installed in usr/share/i18n.)
libc-5.4.46.bin.tar.gz
ld.so-1.9.11.bin.tar.gz
libg++-2.7.2.8.bin.tar.gz
gcc-2.7.2.3.bin.tar.gz
Apache 1.3.14のmake途中のエラー
.o -lm -lcrypt -ldbm -ldl -L/usr/local/src/openssl-0.9.6 -lssl -lcrypto
ld: warning: libc.so.6, needed by /usr/lib/libcrypt.so, may conflict with libc.s
o.5
./gen_test_char >test_char.h
make[3]: *** [test_char.h] Error 139
make[2]: *** [subdirs] Error 1
make[2]: Leaving directory `/usr/local/src/apache_1.3.14/src'
make[1]: *** [build-std] Error 2
make[1]: Leaving directory `/usr/local/src/apache_1.3.14'
make: *** [build] Error 2
※Googleで同様のエラーを見つける事ができたのですが解決策
ではありませんでした。(英語サイトなのでもしかしたら間
違っているかも)
PHP4.0.4pl1のmake途中のエラー
-DAPACHE_SSL -DXML_BYTE_ORDER=21 -g -O2 -c main.c
In file included from /usr/local/src/php-4.0.4pl1/ext/standard/php_standard.h:21
,
from main.c:52:
/usr/local/src/php-4.0.4pl1/ext/standard/basic_functions.h:137: #error Need type
which holds 32 bits
make[2]: *** [main.lo] Error 1
make[2]: Leaving directory `/usr/local/src/php-4.0.4pl1/main'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1/main'
make: *** [all-recursive] Error 1
0064名無しさん@どっと混む
NGNGそこまで環境がボロボロなんだったら、OS ごと再インストールだろう。
0065名無しさん@お腹いっぱい。
NGNGシンボリックリンク下のように適当にやったら
とりあえずコンパイルできた。
libresolv.so.1 -> libresolv-2.0.7.so
↓
libresolv.so.2 -> libresolv-2.0.7.so
あとはPHP4の下のエラーがなんとかなればうまくいきそうな
気がするんだけど。
PHP4.0.4pl1のmake途中のエラー
-DAPACHE_SSL -DXML_BYTE_ORDER=21 -g -O2 -c main.c
In file included from /usr/local/src/php-4.0.4pl1/ext/standard/php_standard.h:21
,
from main.c:52:
/usr/local/src/php-4.0.4pl1/ext/standard/basic_functions.h:137: #error Need type
which holds 32 bits
make[2]: *** [main.lo] Error 1
make[2]: Leaving directory `/usr/local/src/php-4.0.4pl1/main'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.0.4pl1/main'
make: *** [all-recursive] Error 1
めんどくさいのでできれば再インストールはさけたい・・といっても
4日ほどなやんでるから再インストールしたほうがよかったかも。
もう少し粘ってみます。
0066名無しさん@お腹いっぱい。
NGNG0067名無しさん@お腹いっぱい。
NGNG風呂入って寝ます。
0068名無しさん@お腹いっぱい。
NGNG出来ない?
0069名無しさん@お腹いっぱい。
NGNGVineでパッケージを使ったらすぐに設置できたよ。
0070名無しさん@お腹いっぱい。
NGNGFreeBSD + MySQLってどうなの?
Linuxでは非常に安定しているけれど、どっちかというとFreeBSDのほうが好き
なんだよね。誰か情報くださいなー
0071名無しさん@お腹いっぱい。
NGNG0072名無しさん@お腹いっぱい。
NGNGという感じに、トップページに「カテゴリ(登録数)」を数十個リアルタイムで
表示させたいのですが、こういう場合、どのようにするのがよいでしょうか。
$count = mysql_numrows($result);を延々書くのは間違いですよね?
数時間ごとの集計みたいな感じでもよいのですが。
0073Error 401
NGNGcreate table categories (
category_id integer,
category_name varchar
);
create table category_info (
category_id integer,
topic_num integer
);
みたいなテーブルを作って、
トピック(スレッド)を追加、削除する度にtopic_numを+-して、
それを表示すればよいと思う。
# mysqlの型は知らないので適当です。
007472
NGNG一度、そのような感じでやってみます。
0075名無しさん@お腹いっぱい。
NGNGselect categories.category_name, count(items.itemid) from categories,items where categories.category_id=items.category_id
でしょ
0076Error 401
NGNGそのほうが、正統な方法ですね。
>>73 は、高負荷なWebサイトをイメージしたものです。
集約関数を使っても、十分実用に耐えうるなら、75の方法のほうが
良いですね。
007775
NGNGなるほど、そこまでお考えの上でのことか。失礼しました。
確かに75ではパフォーマンスがでませんね。
0078名無しさん@お腹いっぱい。
NGNG個人のレンタルサーバーだったらいいけど。
DB 触ると、うれしくて、なんでも DBでやりたくなっちゃうけど、
車買ったのがうれしくて、近所のコンビニも車でいくようなもんで、
DBを使わない、本来の小回りの利くやりかたってのを忘れちゃだめです。
0079名無しさん@お腹いっぱい。
NGNG0080名無しさん@お腹いっぱい。
NGNGうっ....。肝に銘じます。
0082弱い者の味方、
2001/04/19(木) 18:32ID:KaxNGoIAくて悩んでいる人のためにお役に立ちましょう。
効率よく宣伝できる共有宣伝掲示板を18個設置しました。
全部宣伝して回ればなんと1,000以上の掲示板にカキコしたこ
とになり即、効果が期待できます。
しかも共有しているサイトの多い順に並べてますので
上から順に10個ほどの掲示板に宣伝しただけでも
結構な宣伝になりますよ。
さあ、今すぐここからアタック!!
http://home9.highway.ne.jp/cym10262/
0083名無しさん@お腹いっぱい。
2001/06/27(水) 04:16ID:Kn9EPYTUマッチするレコードがあるのに、そのレコードが削除されない。
もしかして、一意なフィールドがないとdelete効かないの?
---+------+------+--------
A | B | C | D
---+------+------+---------
10 | 100 | abc | NULL
---+------+------+---------
これで、
delete from test where A=10 and B=100 and C='abc'
ってやるんだけど。
0084名無しさん@お腹いっぱい。
2001/06/27(水) 04:18ID:???0085電動ナナシ
2001/06/27(水) 07:16ID:???で当該列が選択される?
'abc' が 'abc ' (空白つき) だったりしない?
0086名無しさん@お腹いっぱい。
2001/06/27(水) 10:02ID:???どこかに参考になるサイトありませんか。
0087名無しさん@お腹いっぱい。
2001/06/27(水) 13:21ID:pN4jLQ3E2001年1月号、2月号・・・12月号の12個のCheckBoxから登録し、
データは例えば「2001年1月・2001年2月・2001年11月」の様に
一つのフィールドに格納します。
その後修正するときのために、またCheckBoxに効率的に戻す
方法はないでしょうか?
私が考えたのは、if else文を12個きちんと書くことしか思いつかない
のです。
0088名無しさん@お腹いっぱい。
2001/06/27(水) 13:47ID:RdD8UBLs「2001年1月・2001年2月・2001年11月」って文字列を、格納してるの?
それは、テーブルの設計がヘンだと思われ。
008987
2001/06/27(水) 14:08ID:pN4jLQ3Eそうしないと、12個のフィールドできてしまう。
表示する際は「2001年1月・2001年2月・2001年11月」という
文字列を見たいんですもの・・・。
さらなるアドバイスきぼーん。
0090Error401
2001/06/27(水) 14:37ID:2vjnwCDU> そうしないと、12個のフィールドできてしまう。
どうしても一年分を一レコードにしたいなら、一フィールドに全部入れるよりも、
こっちのほうがマシですね。
でも一番いいのは、12レコードに分けること。
009187
2001/06/27(水) 14:56ID:pN4jLQ3E???
この著者は「2001年1月・2001年2月・2001年11月」号に執筆した
というのをDBに入れているわけで、雑誌がメインではないので、
12レコードに分解するのは意味不明。
月ごとにフィールドを作ってもいいのですが、
(janu/enum('Y','N'), ・・・Dece/enum('Y','N'))
その際は87の方法より大変になりそうと思われ・・・。
0092Error401
2001/06/27(水) 16:15ID:???僕だったら、
著者コード
掲載雑誌コード
掲載年月
みたいなテーブルにすると思うけど(上の例だと3レコードになる)、それがイヤなら、
一つの列に「2001-01:2001-02:2001-11」とか入れて、自分でパースするとか。
>その際は87の方法より大変になりそうと思われ・・・。
僕はそうは思わないけど、大変だと思うのなら87の方法でやれば?
0093名無しさん@お腹いっぱい。
2001/06/29(金) 14:58ID:???12個のチェックボックスって、年をまたぐ連載はどうしてるの?
009487
2001/06/29(金) 17:23ID:???1999年は12個
2000年は12個・・・と作ってきたのよん。
毎年一回すごくめんどそうだから、
できるだけうまい方法を考えているのよん。
今までは、ファイルメーカで動かしてきたんだけどね。
0095名無しさん@お腹いっぱい。
2001/07/02(月) 11:00ID:E3hgF41I>毎年一回すごくめんどそうだから、
>できるだけうまい方法を考えているのよん。
一生考えてろ(藁
0096名無しさん@お腹いっぱい。
2001/07/02(月) 17:28ID:???0097名無しさん@お腹いっぱい。
2001/07/02(月) 21:27ID:???0098名無し
2001/07/03(火) 01:10ID:K4qWcRq.雑誌ID(ユニーク)
掲載雑誌コード
*年月テーブル
雑誌ID(リンク?)
掲載年月
例の場合、雑誌1につき、年月テーブルにレコードが3つ出来る。
間違ってる?
0099名無しさん@お腹いっぱい。
2001/07/03(火) 16:13ID:???010097
2001/07/04(水) 10:37ID:???まともにやったら、雑誌、記事、著者、掲載年月がそれぞれ別のテーブルになるんじゃないの?
「ある雑誌に掲載された記事全部」という軸で見るつもりがなければ、雑誌テーブルはなくてもいいけど。
0101名無しさん@お腹いっぱい。
2001/07/30(月) 11:23ID:DpI/j/kIファイルを選択し、mysqlimportと組み合わせてタブ(もしくはcsv)
のデータをテーブルに流し込みたいのですが、
ご存じの方いらっしゃいましたら方法を教えてください。
0102名無しさん@お腹いっぱい。
2001/07/30(月) 11:26ID:???ご存知も何も無い。
0103名無しさん@お腹いっぱい。
2001/07/30(月) 11:36ID:DpI/j/kIそのPHPのソース見せてくれませんか?
0104名無しさん@お腹いっぱい。
2001/07/31(火) 14:51ID:gbYT3/icmysql_queryでいいの?
0105名無しさん@お腹いっぱい。
2001/07/31(火) 15:46ID:???msqlimportはよくしらんが、fputを使えば良いだけと思われ
0106105
2001/07/31(火) 16:04ID:???0107101, 104
2001/07/31(火) 16:16ID:???fgetとか知りませんが、
104の方法でできた。どうも。
0108名無しさん@お腹いっぱい。
2001/07/31(火) 17:33ID:???これだから夏厨は・・・・。
0109101,
2001/07/31(火) 17:42ID:???∧⊂ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(゚Д゚ )ノ <スマソ
(| _ | \__________
〜| l l |
| l l |
| l l |
∪∪
ただ、一日考えた。
0110名無しさん@お腹いっぱい。
2001/08/01(水) 23:20ID:???だれかぁ。
0111名無しさん@お腹いっぱい。
2001/08/02(木) 16:08ID:???にて、同じ名前のファイルの上書きができないようになってます。
これを解除する方法ありますか?
0112111
2001/08/03(金) 13:28ID:???∧⊂ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(゚Д゚ )ノ <スマソ
(| _ | \__________
〜| l l |
| l l |
| l l |
∪∪
ただ、一日考えた。
0113名無しさん@お腹いっぱい。
2001/08/22(水) 17:45ID:???サーバで動かそうとしたら、
Warning: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in
のエラーが出ました。
ホスティングサーバでmysqlとphp使うの初めてです。
助けていただけるとありがたいです。
0114名無しさん@お腹いっぱい。
2001/08/22(水) 17:46ID:3EIRhkwcスマソ。
0115ななしさん
01/10/16 14:37ID:Ey/LzZRl0116名無しさん@お腹いっぱい。
01/10/22 17:26ID:4SdlYUpTPHPスクリプトから会員&パスワードを発行して、
apacheで認証ってしてみたいんだけど。
どこかにソースはありませんかのう姉妹?
0117名無し職人
01/10/22 23:57ID:0plXJa9eマニュアルってございませんかー?
0118名無しさん@お腹いっぱい。
01/10/23 00:23ID:???http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_toc.html
0119116
01/10/24 00:03ID:???できました。
0120
01/11/05 13:58ID:vcKAct35InterBase Interactive SQLってソフト使ってるんですが、
create table test(FLAG numeric(1),PNAME varchar(20),UPDTDT datetime,BIKO varchar(20),SYOYUSYA varchar(20));
これでエラーが出てしまうんですが、何故でしょうか。
Dynamic SQL Error
-SQL error code = -607
-Invalid command
-Specified domain or source column does not exist
0121120
01/11/05 14:12ID:vcKAct35日付型にしたくて
20010925 10:35:21
みたいな感じにしたいんですが。。。
0122名無しさん@お腹いっぱい。
01/11/06 21:35ID:b75oj9Rb関数ってありましたっけ。
0123名無しさん@お腹いっぱい。
01/11/07 00:39ID:???ボタン押す
if(!$backup = mysql_query("select * from テーブル名 into outfile '/usr/local/xxx/xxx/xxxx.txt'") ) {
echo "えらー";
exit;
}
完了
で、クリックしてダウンロード
という事を試していますが、ローカル(Win)ではうまくいっても
実際のサーバーではエラーが出ます。
コマンドを打てば、サーバーでもうまくいきます。
nobodyでは無理なのでしょうか?
cron 使ってできるのならそっちの方がよいですけど、cronも
使ったことなくて。
0124名無しさん
01/11/15 23:40ID:???0125名無しさん@お腹いっぱい。
01/11/16 00:13ID:???nobody は /usr/local/xxx/xxx に書けるんか?
0126名無しさん@お腹いっぱい。
01/11/16 14:53ID:???ちなみに、MySQLのselect * into outfile 'FILE'は FILEが存在すると失敗する。
0127名無しさん@お腹いっぱい。
01/11/19 03:35ID:???mb_convert_encoding (string, "SJIS", "EUC");
てな感じでいいのでは?
[, "EUC"] は省略可。
0128名無しさん@お腹いっぱい。
01/11/21 21:32ID:???2バイトコードの変換は4.06からじゃなかったけ?
0129122
01/11/22 09:46ID:???>128さんのおっしゃるとおりですので、
ttp://www.spencernetwork.org/
で解決させました。
0130名無しさん@お腹いっぱい。
01/11/29 04:34ID:lzlfsEO3select時も必要なのでしょうか?
CriticalSectionと同じ使い方でいいのかな、と。
0131名無しさん@お腹いっぱい。
02/01/25 21:08ID:EnQhZp93MySQLでLOCK TABLE使わないと、ファイルを直接書き換える時みたいに、
データベース自体が壊れてしまう、つまり空になってしまう事ってあるの?
0132名無しさん@お腹いっぱい。
02/01/25 22:15ID:YPhuvDQPあったら困るが・・・。
0133名無しさん@お腹いっぱい。
02/01/27 01:37ID:cosj42ZDlockする必要は無いだろうに・・・。
WEB+DBマガジンでもよんどけ。
0134131
02/01/27 08:03ID:0uaA5Fv8http://www.mysql.gr.jp/mysqlml/msg.cgi?ml=mysql&id=4893
0135名無しさん@お腹いっぱい。
02/02/10 05:00ID:/GsQSjbcどうしても16MBytes以上のデータを挿入できないんだよ。
my.cnfにmax_allowed_packet=64M
とか設定することで、一応16MBまではOKみたいなんだけど、
だれかこの謎について知らない?
0136名無しさん@お腹いっぱい。
02/02/13 13:12ID:41nJDth8エンコードされた文字列のまま格納しようとしてるとか?
0137名無しさん@お腹いっぱい。
02/02/13 17:35ID:???サブクエリの代わりにMySQL変数を使ってみようと思って、
$res = mysql_query(
"select @nextid:=coalesce(max(i),0)+1 from t1;
insert into t1 values(@nextid,'hogehoge');",
$con
);
ってやってみたら、
You have an error in your SQL syntax near '; insert into t1 values(@nextid,'hogehoge')' at line 1
というエラーになってしまった。
mysqlコマンドからはできたんだけど、これはコマンドか分けて送信してるのかな。
0141名無しさん@お腹いっぱい。
02/02/20 02:52ID:???知りませんか?
以前、外国で見たことあるのですが、どこだったか
忘れてしまいました。
日本語版があると、更に良いのですが。
0142名無しさん@お腹いっぱい。
02/02/20 15:56ID:???スレ違いだけどスマソ。
PostgreSQL7.2は、「5秒毎にVacuumかけてもOKだぜ!」と豪語してる。
Vacuumが不要なわけではないけど、機能停止せずにVacuum可能になったらしい。
0143nobodyさん
02/03/02 17:35ID:GfXDGnRV$query ="insert into person(id,name,reading,like,hate,want,intro) values('2002030207145036','名無し','ななし','肉','椎茸','X-BOX','小学3年生です')";
mysql_query($query);
とやると成功するんですが、
$query ="insert into person(id,name,reading,like,hate,want,intro) values($form[0],$form[1],$form[2],$form[3],$form[4],$form[5],$form[6])";
mysql_query($query);
こうすると失敗してしまいます。きちんと値が渡っていないようなんですが、
これの原因、解決策はありますでしょうか?
0144nobodyさん
02/03/02 18:14ID:???echo $query;
2行目の後に
echo "<br>" . mysql_error();
と書き足して実行してみよう
0145nobodyさん
02/03/02 19:17ID:???0146143
02/03/02 20:28ID:N9v4UEdy>>145 さんの言われた通り、クォーテーションで囲んだら
正常に実行できるようになりました。クォーテーションで
囲まれた中にある変数は参照されないとばかり思っていたのが
そもそも間違いの元でした。
ありがとうございました。
0147nobodyさん
02/03/03 20:52ID:69e0GrH8Win版では日本語は対応していないのですか?
0150nobodyさん
02/03/05 18:16ID:bIkjFbNp時間表示が妙な数字の並びになってしまうのですが
普通の2002/9/3 12:34のようなスクリプトに書き直すのにはどうすればいいでしょうか?
DB使わずにechoで返せばそうなるのですが・・
<FORM action="time.php"><INPUT type="submit" name="get"></FORM>
<HR>
<?php
$db=mysql_connect("localhost","nanasi",*******);
mysql_select_db(time);
$time=date("Y/m/d h:i:s");
if($get)
{
mysql_query("insert into time set time='$time'");
}
$sq=mysql_query("select * from time");
while($array=mysql_fetch_array($sq))
{
$datatime=$array["time"];
print("$datatime");
}
mysql_close($db);
?>
0151nobodyさん
02/03/05 23:11ID:???時間を格納するフィールドの型はどうなってんだ?
0152nobodyさん
02/03/06 01:25ID:???0153nobodyさん
02/03/06 10:56ID:RiDVorzNtimestampをdatetimeに変えた
$db=mysql_connect("localhost","nanasi",*******);
mysql_select_db(time);
$time=date("Y/m/d h:i:s");
if($get)
{
mysql_query("insert into time values('$time')");
}
$sql=mysql_query("select * from time");
while($array=mysql_fetch_array($sql))
{
print("$array[time]<BR>");
}
0154nobodyさん
02/03/06 12:51ID:b7FmzTqPMySQLが日本語サポートしてないなら、
ソート用のフィールド1個つくって
そこに
アホ→1165
あいうえお→1112131415
とか適当な変換した数値入れて、
そいつでORDER BYかければいいんじゃない?
0156nobodyさん
02/03/07 11:34ID:???my.iniにエンコーディングの指定は入れてる?
ttp://www.google.com/search?q=my.ini+windows+%83G%83%93%83R%81%5B%83f%83B%83%93%83O&hl=ja&lr=lang_ja
0157nobodyさん
02/03/07 11:43ID:???ttp://www.mysql.gr.jp/jpdoc/4.0/manual.ja_MySQL_Database_Administration.html#Character_sets
0158147
02/03/07 12:25ID:???確かにローカル環境ではそのような対策によって問題を解決することが
できるのですが、サーバ側(XREA) の設定はデフォルトになっていまして、
変更がきかない状態です。>>154 さんの方法も視野に入れて、
検討しなおしてみます。
0159nobodyさん
02/03/07 13:03ID:2htMbj9ySELECT * FROM table
で10秒くらい待たされます。
件数は1000件ほどなのですが、MySQLが速いといってもこんなもんなのですか?
鯖はPen3 500MHz Mem128K Win98です。
0160nobodyさん
02/03/07 14:41ID:ViFldAhDmysql_select_db(bbs);
if($name&&$msg)
{
mysql_query("insert into time values(now(),'$name','$msg')");
}
$hoge="select * from bbs";
$hoge="select bbs from bbs order by time desc";
$sql=mysql_query($hoge);
while($array=mysql_fetch_array($sql))
{
print("$array[name]<BR>");
print("$array[msg]<BR>");
print("$array[time]<BR>");
}
?>
</BODY>
</HTML>
なぜfetch_arrayが動かないのでしょうか、、(;;)?ミスを指摘してもらえま
ませんか?
0161nobodyさん
02/03/07 15:32ID:???$hoge="select bbs from bbs order by time desc";
どうでも良いけど、書き直す意味は?
0162nobodyさん
02/03/07 16:17ID:ViFldAhD並び替えの理由でしょうか(´д`;)?
簡易bbs作りたいんです
0163nobodyさん
02/03/07 17:39ID:2htMbj9y0164nobodyさん
02/03/07 18:51ID:???エラー処理は必ず入れよう。
if (!mysql_query("insert into time values(now(),'$name','$msg')")) {
echo mysql_error();
exit;
}
あとtimeとか一般的過ぎる名前はSQLの予約語になっていないか疑ってみよう。
漏れは怖いのでtime1とかつけて逃げる。
0166nobodyさん
02/03/12 00:36ID:???ちょっと弱気にsage。
0167nobodyさん
02/03/12 04:09ID:???SQLに代入したテキストを取得して表示させると
"表\示"のようになってしまいます。これを防ぐには
どうしたら良いでしょうか
0171nobodyさん
02/03/23 01:59ID:+fv2A8Nb開発してきたのですが、IIS + PHP + MySQL on WinNT での
開発依頼がきてしまいました。
MySQL 関連でお薦めの参考文献はありますか?
0172957
02/03/29 17:47ID:nw+WUuT40173nobodyさん
02/03/30 11:37ID:M/C/V7hbMySQLに格納されている画像の大きさを取得したいのですが
どうやったらいいでしょう?
GetImageSize($sql_dat[image])ではできませんでした。
SQLから取り出した画像を一回フォルダに書き込んでサイズ取得
その後フォルダの画像を消すみたいなのはかなり強引なやり方ですが…。
他に何か方法ありませんか?
0174nobodyさん
02/03/30 17:16ID:xPohoijV知りたい型は
DATE型
TINYTEXT型
TEXT型
MEDIUMTEXT型
LONGTEXT型
です。
よろしくお願いします。
0175nobodyさん
02/03/30 22:39ID:???DATE型 → たしかマニュアルに書いてたような・・・
TINYTEXT型 → たしかマニュアルに書いてたような・・・
TEXT型 → たしかマニュアルに書いてたような・・・
MEDIUMTEXT型 → たしかマニュアルに書いてたような・・・
LONGTEXT型 → たしかマニュアルに書いてたような・・・
0176☆
02/03/31 16:03ID:aL9WnZNZフィールドタイプ 所要容量
DATE 3 bytes
DATETIME 8 bytes
TIMESTAMP 4 bytes
TIME 3 bytes
YEAR 1 byte
6.2.6.3 文字列タイプの保存容量
フィールドタイプ 所要容量
CHAR(M) M bytes, 1 <= M <= 255
VARCHAR(M) L+1 bytes, where L <= M and 1 <= M <= 255
TINYBLOB, TINYTEXT L+1 bytes,where L < 2^8
BLOB, TEXT L+2 bytes,where L < 2^16
MEDIUMBLOB, MEDIUMTEXT L+3 bytes,where L < 2^24
LONGBLOB, LONGTEXT L+4 bytes,where L < 2^32
ENUM('value1','value2',...) 1 or 2 bytes, 列挙値の数に依存 (最大値は 65535 )
SET('value1','value2',...) 1, 2, 3, 4 or 8 bytes, 要素の数に依存 (最大要素 64 )
0177☆
02/03/31 16:07ID:aL9WnZNZMySQLのTEXTフィールドに、改行コードが入った文字列を入れました。
これをPHPでゲットして表示すると改行はされずに一行で表示されます。
改行は、<BR>に変換して表示しないとダメなんですか?
もしそうならどうやって変換しているのですか?
0178nobodyさん
02/03/31 18:41ID:34FKVasXhttp://www.google.co.jp/search?hl=ja&q=nl2br&lr=lang_ja
http://www.google.co.jp/search?hl=ja&q=htmlspecialchars&lr=lang_ja
0179nobodyさん
02/04/01 09:04ID:ePtKp0PtTXETを$messageに入れたとして
$message = ereg_replace("\n|\r\n|\r", "<br>",$message);
わたしは改行コードを<br>に一度変換して、MySqlに入れてます。
MySqlから取り出すときは逆をやると・・・。
0180nobodyさん
02/04/02 01:53ID:1F1eJ6FA(現在結構大きなシステムを作ってるのでカラム数が1000ぐらい逝きそうなのです。)
また、1テーブルあたりのデーター数は特に制限はないのでしょうか?
よろしくお願いします。
0181nobodyさん
02/04/02 15:10ID:9yw1c0Iaカラム数ではなくバイト数の制限というのをどこかで見た記憶が。。。
うろ覚えでスマソ
0182nobodyさん
02/04/02 21:04ID:1F1eJ6FAどうもありがとうございます。
バイト数の制限ってテーブルの大きさに限界があるってことでしょうか。
てことはあんまり容量の大きくなったテーブルはデーターの書きこみが出来ないってことですね。
やっぱりpostgreSQLを使ったほうが良かったかなあ・・・
速いってことに惹かれたのですが。
0183181
02/04/02 23:07ID:8qPk2oUkやっぱうろ覚えのようでした。
http://www.kbcenter.com/kb.php?u_action=view_kb&kb_id=2407&category_id=71
Q. What is the maximum number of columns in a table?
A. The answer is: at least 2000 columns
0184nobodyさん
02/04/03 14:33ID:JehAsWDRどうもありがとうございます。
PostgreSQLはカラム制限が確か500〜1600だったと思うのでカラム数の上限に関してはMySQLのほうが上ですね。
同サイトで検索をかけたらデータサイズのリミットについても載ってました。
Q. maximum table size?
A.
The maximum table size is limited by the MySQL version, the OS and in particular the filesystem. In most cases, this effectively comes out to: "The size of your hard drive." Many Linux systems impose a 2GB limit on files.
MySQL v. 3.23 in particular, can be compiled to enable large tables which are only limited by the filesystem (unless, of course, your drive is larger than 800 million terabytes.)
つまりMySQLのV.3.23ならファイルシステム以外に特に制限がないとなってますね。
やっぱりMySQL(・∀・)イイ!
少しの間でも疑ってスマヌ。
0185nobodyさん
02/04/08 00:35ID:ThlnEI/e非常に小規模なPHPとMySQLをつかった(on Win98)Web業務アプリを
社内SE(といっても無理やり任命...鬱)として開発しているのですが、しょっぱ
なから躓いてしまいました。
PHP(のスクリプト)からMySQLへ接続しようとすると、「sjis.confがない!用意しろ」
という意味のエラーメッセージが表示されてしまいます。
Webで調べて、非公認のsjis.confとか、日本MySQL会の過去MLにあったujis.conf
などを取り寄せたりしましたが、結局は[sjis.confなるものは存在しない」「再コン
パイルが必要」という結論のようです。
現状は問題無く(非公認sjis.confのおかげで)稼動していますが、本線から外れた
気がして、気になってしかたがありません。
この様な問題を体験した方、どのように問題をクリアしたか教えてくれませんか?
宜しくお願いします。
0186nobodyさん
02/04/08 01:14ID:9VtFCTbUPHPのバージョン、MySQLのバージョン等、環境が知りたいなぁ。
0187nobodyさん
02/04/08 17:41ID:k1pVA1I5便乗質問ですが、Windows、PHP4.1.x、MySQL3.23.xの環境で、PHPとMySQLをトータルで
考えた場合、日本語の環境はどのようなものが良いでしょうか?
PHPの内部エンコードなども含めて。
PHPのコードもデータベースに保存するテキストもEUCにしていますが、
DOS窓で日本語が表示できないなど、不便を感じています。
また、書籍「MySQL&PHP(田中ナルミ著)」のP334には、「MySQLサーバーを
SJISやEUCで立ち上げると、PHPを通じたMySQLの操作がうまくいかないこと
があります(PHP4の日本語対応が不完全なため)。」
その対策方法も書かれていますが、どれが良いのか迷います。
0188nobodyさん
02/04/08 21:44ID:???0189nobodyさん
02/04/08 23:00ID:9VtFCTbUSJISを使わざるをえない場合(携帯用とか)なら
PHP3でやっちゃいそうです。
DOS窓で日本語…ってMySQLの操作のことですかね?
phpmyadminとかじゃダメですか?
ただ、このあたりは少々宗教戦争っぽいんですよね。
文字コードに関する論争なんかは、例えば
[PHP-users 4681] sjis で echo ”能” エラー
ここから始まるスレッドあたりでしょうか。
0190nobodyさん
02/04/09 00:00ID:CyKKzVcs>
> DOS窓で日本語…ってMySQLの操作のことですかね?
そうDOS。。。
> phpmyadminとかじゃダメですか?
それいいですね。THANKS!
0191185
02/04/09 23:22ID:???遅レスすいません。環境は、以下の通りです。
OS:win98
サーバー:AN httpd(中田氏のもの。将来的にはApacheに。。。)
PHP : ver. 4.1.1
MySQL : ver.3.23.46
PHPスクリプト埋め込んだHTML(.php)の文字コード:x-sjis(SJIS)
なんか答えが半分出てしまったようなのですが、やはり問題として
議論の対象となっていたのですね。
UNIX系OSでコンパイルするような環境が当方にあれば良いのですが、UNIXに
関するshellなどの知識の習得や、運用など一から勉強しなくては逝けない
ことばかりで、当方にはまったくそのような時間はありません。
PHPの前はActivePerl(=perl)で、接続に関してはあまり問題無かったので
なおさらショックです。
PHPに結構強い期待を寄せていたのですが、やっぱりperlに戻らなくては
逝けないのかなー?そう考えると鬱です。。。
0192186
02/04/10 00:12ID:???私はWindows2000 + Apache 1.3.24 + PHP 4.1.2 + MySQL 3.23.39 ...
でユーザー20人くらいのものを作っていますが、別に問題感じていませんが…
運がいい(ダメ文字が今まで入っていない)だけなのかな?
ちなみに189で言いましたが文字コードは全部EUC-JPで統一です。
一つ気になるのですが、Perlでは接続は問題ないとはいえ
http://homepage1.nifty.com/yito/anhttpd/faq/mysql.html
で言われているように、、「ソ」「構」「能」「表」など 5C のコードを含む文字
が文字化けを起こしてしまうんではないですか?
これってMySQLの問題であって、PHPだろうとPerlだろうと
出てきてしまうのでは?
HTMLをSJISで書くのを避けられないなら、
mbstringで変換してDBにはEUCで放り込むとか。
(うまくいくか自信なし…というか上の文章全部自信は無くて、
あくまでも自分の経験だけなので間違っていたらごめんなさい)
0193nobodyさん
02/04/10 00:15ID:???マルチバイト文字列関数(mbstring)のマニュアルは
http://jp2.php.net/manual/ja/ref.mbstring.php
このあたりで…。
4.1.0以降ならWindows版のPHPもmbstringは
組み込まれていると思います。
あと、PHP 4のRFC1867(ファイルアップロード関連)に関するコードに
セキュリティ上の欠陥があり、任意のコードを実行される可能性が
あるので、最新のPHP 4.1.2にバージョンアップするか、修正用パッチを
適用するか、php.iniを書き換えておいてくださいね。
(外部からアクセスできる場合)
0194185->191
02/04/10 00:52ID:???有難うございます。
悪名高い「能」「表」文字をつかってぐりぐり動かしているのであれば
単に文字コードの問題で、それへの対処はperlで(初心者の頃より)さんざん
苦労したので想像がつくんですが、私の日頃の行いが悪いのか、接続時点で
つまり。。。
<?
$db = mysql_connect("localhost","hogeuser","password");
....
....
?>
とやって、実際にこの記述がされたページを読みこむと、この記述した箇
所に「sjis.confを用意しろ、ゴルア」みたいな内容のエラーメッセージ(
といっても処理が中断されるわけではない)がでて、当方でsjis.confを
手に入れるまでは、接続するたびにこのメッセージがでて困っていたのです。
該当スクリプトを埋め込んだ.phpファイルの中にはHTML部分に当然日本語の
データを使っている箇所もありますが、localhostや接続ユーザー名やパスワ
ードには日本語を使うという厨房的非常識なことはしていませんし、この単に
データベースへ接続すると言うことに関しては、perlでのトラブルの体験が記
憶に無かった、と言うことだったのです。
でもやっぱり、漢字コードについて分かっていないのかもしれませんね。
開発環境をEUC_JPに統一する方法をなんとか考えるか、mbstring()を勉強
してみます。
ありがとうございました。
(セキュリティ対応のご指摘も有難うございます >193)
0195nobodyさん
02/04/13 17:13ID:KuNi6hxmcheckdate以外にないの?
'2002/04/13'ってデータを
checkdateでチェックするにはどうすればよいの?
0196nobodyさん
02/04/13 18:20ID:KuNi6hxmcheckdateだと、年、月、日に分割しないとダメなのが嫌なんですよね。
0197nobodyさん
02/04/14 15:55ID:o4dlBvyuPHPで判断するにはどうすればよいのん?
0199nobodyさん
02/04/14 19:41ID:???0200nobodyさん
02/04/14 21:04ID:6DHe9XM+ホストで判断ってどうやってやるのん?
0201nobodyさん
02/04/14 22:45ID:4+43mXoghttp://jp2.php.net/manual/ja/language.variables.predefined.php
0202nobodyさん
02/04/15 14:55ID:85MlnFuN使用しているデータタイプは、timestampです。
$time=date("Y/m/d H:i:s");
で、上のようにゲットした時間をデータベースに記録して、
後でクエリーして取り出した時間を例えば「April 13, 2002」のように表示するにはどうしたらよいでしょうか?
「4/13/2002」でもかまわないのですが。
0203202
02/04/15 15:31ID:85MlnFuN「20020412123456」という形で入っているわけです(これは2002年4月12日12時34分56秒を表します)
これをどうしたら、「April 12, 2002」とか「4/12/2002」で表示できるんでしょうか
0204nobodyさん
02/04/15 16:26ID:qOdJXznRhttp://jp2.php.net/manual/ja/ref.datetime.php
このあたりじゃダメですか?
0205202
02/04/15 17:33ID:85MlnFuNどうもです。まだ試していませんが、select文でDATE_FORMAT関数を使えばできそうです。
こんな感じで。select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
http://www.mysql.gr.jp/jpdoc/3.23.x/manual.ja_toc.html#Date_and_time_functions
0207196
02/04/16 00:11ID:MlXylYBc0208すえぐぜく?
02/04/18 18:13ID:QEUbZy/J0209すえぐぜく?
02/04/18 18:18ID:QEUbZy/Jすみません、書き終わる前に投稿してしまいました。
Apache + php4_module + MySQL をつかってます。
データベースに接続するときにパスワードが必要になりますが、
このパスワードを PHP スクリプト中に埋め込もうとおもっています。
(設定項目を集めたスクリプトを用意して)。
当然このスクリプトファイル、たとえば config.php のパーミッションは
600 になるわけですが、PHP はApache と同じユーザ (www) で
実行されるのでメインプログラム index.php から config.php を
読み出すことができません。
suExec 経由の CGI なら実行されるときのユーザは自分自身なので
問題ないのですが。
PHP に限ったことではありませんが、CGI ではなくてモジュールで
スクリプトを実行するときは、みなさんどうやって切り抜けてらっしゃるのでしょうか?
0210すえぐぜく?
02/04/18 18:22ID:QEUbZy/Jどうやって何とかするんだろう、と。
447 名前: ◆wfMSpsRY 投稿日:2001/12/22(土) 15:31 ID:???
suexecみたく、ユーザ権限で動いてくれないと、
レンサバには導入し辛い。
php.iniとスクリプト作り手の工夫次第でsuexec対応
しなくても何とかなるけどね
http://ebi.2ch.net/php/kako/982/982687820.html
188〜261辺りを読みませう。
今更だけど、PHPがsuexecに対応しなくてもって意味ね。
さて、私は188〜261ドレでしょうw
0212すえぐぜく?
02/04/19 09:28ID:3KXoKyNvsafe_mode_exec_dir = "."
open_basedir , doc_root を適切に設定。
ということで対処するんですね。
んがしかし、結局 PHP がアクセスできるファイル
および PHP スクリプト自信は user = nobody ( or www)
がアクセスできるわけですよね?
とすれば、結局 ssh とかで普通にログインしてきたユーザには
それらのふぁいるを読まれてしまうと思うのですが…
やっぱその場合は CGI モードで動かさないとダメなのかな?
0213すえぐぜく?
02/04/19 09:31ID:3KXoKyNv> あ、でもPHPだけならいいですが、Perl等、他のCGI実行環境も
>提供している場合は、PHPだけで対応してもダメですね。
> PHP自身の機能として、スクリプトの所有者の権限で動くモード
>(sbitをみる)があってもいいと思うのですが、これは問題があるの
>でしょうか。
これは確かにそう思いますね。 Apache が root で動いてなくても
suExec できてるんだから、モジュールでもできると思うんですが…
うーん、悩ましい問題です。
0214すえぐぜく?
02/04/19 09:49ID:3KXoKyNv当初は MySQL にアクセスするためのパスワードをスクリプトに埋め込んで
そのスクリプトを他の人に読まれたくない、という動機からここに書いたんですが、
もはや MySQL の話題から離れてしまったので別スレに逝きます。
でわ、失礼しました!
【PHP】質問スレッドPart3
http://pc.2ch.net/test/read.cgi/php/1013919792/
0215すえぐぜく?
02/04/19 09:54ID:3KXoKyNvhttp://pc.2ch.net/test/read.cgi/php/983250751/209-213
から飛んできました。
Apache + mod_php を使っています。
データベースにアクセスするパスワードなんかをスクリプトに埋め込んで、
そのスクリプトを他のユーザに詠まれないようにしたい、ということです。
CGI なら suExec で user=www ( or nobody) => user=ore に
権限を変更できるので、パーミッション 600 で OK なんですが、
モジュールの場合は user = www ( or nobody) のままなので
600 にはできないです。
結局
safe_mode = on
safe_mode_exec_dir = "."
open_basedir , doc_root を適切に設定。
を適切に設定することで何とかなりそうかな、ということだったんですが、
それでもパスワードを含むスクリプトを 600 にはできないですよね?
となると、ssh とかでログインして作業している他のユーザには
読まれてしまうわけで……
まだあんまりやったことないですが PHP を CGI として動かそうかな、とか。
0216すえぐぜく?
02/04/19 09:55ID:???ごめん、つづけてこっちに書いちゃった…
鬱だ…
0217nobodyさん
02/04/20 21:10ID:???構成めちゃくちゃ
内容貧弱
動作は速くていいんだけどね・・・
0218nobodyさん
02/06/01 09:47ID:akzfNCGw「MySQL&PHPでつくろう!Webデータベース構築ガイド」を参考にMySQLの文字コード
をujis(EUC)に設定すると、日本語の文字数も正しくカウントできますね。
なぜかその設定をすると、DOS窓からMySQLもMySQLAdminも起動しなくなってしまいます。
これは解決できるでしょうか?
0219phpBB2
02/06/01 22:09ID:bHoxoQKAhttp://www.pons-factory.com:8080/phpBB2/
http://nisimoto.s5.xrea.com:8080/phpBB2/index.php
http://adventure.s11.xrea.com:8080/phpBB2/
http://cybermobius.no-ip.com/bbs/
http://chiron.s2.xrea.com:8080/phpBB2/
0220phpBB2
02/06/01 22:14ID:bHoxoQKA0221Power
02/06/11 19:21ID:xg55fsn9あるのですか?
ない場合、どのようにして連番を取得するのですか?
0222nobodyさん
02/06/12 02:21ID:ByyI73VkOracle知らないんだけど、順序って
insertした順番に付くレコードの番号の事?
それだったら、フィールドの型を
int auto_increment primary key
にすればよい
0223Power
02/06/12 20:15ID:RK99k1q3Oracleの順序とはおっしゃる通り連番を返すものです。
私がやりたい事は、変数に連番を入れる事です。
SELECT 順序名.NEXTVAL
INTO :変数名
FROM DUAL;
Oracleではこのようにすれば変数に連番をセット出来ます。
で、この変数を使い色々処理を行いたいのです。
MySQLでは型に自動に連番を振ってくれるものがあると聞いています。
この場合、変数に連番をセットする事は可能でしょうか?
0224nobodyさん
02/06/12 20:28ID:???0225nobodyさん
02/06/25 00:08ID:clASTtZbデータの型はBINARYでよろしいのでしょうか?
Permission deniedが出てきてしまうのですが???
0226nobodyさん
02/06/25 00:53ID:???マルチ
回答不要
http://pc.2ch.net/test/read.cgi/php/987560391/86
0227nobodyさん
02/06/26 22:43ID:RPzx9bH+これかな
http://www.softagency.co.jp/mysql/Manual/html/manual.ja_Tutorial.html#example-AUTO_INCREMENT
0228nobodyさん
02/07/05 13:19ID:sTJoXJtl同じテーブル定義のテーブルを分散しているのですが、
その分散したテーブルを一つのテーブルにしたいのですが、
なにか方法はありませんか?
0229nobodyさん
02/07/05 22:12ID:???マルチ
回答不要
http://pc.2ch.net/test/read.cgi/php/1011683282/36
0230nobodyさん
02/07/06 00:39ID:Dg/qr5jp教えてあげて
0232nobodyさん
02/07/06 05:33ID:???ボランティアの方?
0234nobodyさん
02/07/06 14:31ID:???0235nobodyさん
02/07/23 03:19ID:cyKC/Zg5http://allabout.co.jp/computer/database/closeup/CU20020307/index.htm?FM=glcct
にある
SQL> select job,count(job) from emp group by job order by count(job) desc;
ってのはMysqlでは駄目ですか?
調べると
SQL> select job,count(job) as count-job from emp group by job order by count-job desc;
て書かなきゃ駄目っぽいんですけど?
0236nobodyさん
02/07/23 13:56ID:???count(job)ってのはフィールドじゃないからダメ。
count(job) as count-jobは明示的なフィールド名を持たせていて
その結果をsortする指定だからOK。
MySQLに限らず基本事項だろ。
0237nobodyさん
02/07/23 19:39ID:et0aznNL【ウェブサーバーに影響を及ぼす『PHP』の欠陥】
http://japan.cnet.com/Enterprise/News/2002/Item/020723-4.html?me
0238nobodyさん
02/07/23 22:15ID:/btI2V00手動で番号を振っている列の最大値を取得したいだけなのですが、本を参考にこう書きました。
$result=mysql_query("SELECT * FROM hogehoge order by number desc limit 1");
$rows=mysql_num_rows($result);
if($rows==0){}else{while($row=mysql_fetch_array($result)){echo $row["number"];}}
これで目的は果たせてるのですが、もうちょっと簡単な書き方…というか方法ないでしょうか?
0240nobodyさん
02/07/24 02:54ID:???$result=mysql_query("SELECT * FROM hogehoge max(number)");
$rows=mysql_num_rows($result);
でnumberが一番大きなレコードだけが取り出せる
0241240
02/07/24 02:59ID:???$result=mysql_query("SELECT max(number) as maxnum FROM hogehoge");
$rows=mysql_num_rows($result);
$row=mysql_fetch_array($result);
で、
$row["agemax"]に最大値が入ってる
0242241
02/07/24 03:02ID:???$row["agemax"]→$row["maxnum"]ね
自分のスクリプトからコピペってそのまんまだった
逝ってきます
0243238
02/07/24 17:23ID:???ありがとうございます。
$result=mysql_query("SELECT max(number) as maxnum FROM hogehoge");
$row=mysql_fetch_array($result);
echo $row["maxnum"];
で出来ました。かなりすっきりして嬉しい限りです。
本当にありがとうございます。
0244ロリ
02/07/24 22:29ID:o7AisP6C欲しいけどルートが分からない初心者にもやさしく
“とにかく安く、そして確実に”
少女の道草、マニア撮りロリータ・・・etc.
サンプルはタダでした。良かったらみてください。一日しのぎのネタには
なると思います。今ならおまけもレアなあります。数に限りがあるんでお早めに。。
http://up.to/muke
0245初期不良
02/07/26 06:13ID:???count(hoge) は指定がなければ count(hoge) as count になる。
一回 order 無しで出力させてみればわかる話だろ。
よってこれで逝ってよし。他の DB でも同じ。
select job,count(job) from emp group by job order by count desc;
0246nobodyさん
02/07/27 20:43ID:???入力データのチェックはどのようなことをすれば大丈夫なのでしょうか?
0247nobodyさん
02/07/29 21:36ID:DzCwMCFnLinux+PHP+MySQLに移行しようと思っています。mdb形式のテーブル
からデータをMySQLに移すにはどうやったらいいのでしょうか?
0248nobodyさん
02/07/30 18:47ID:???ふつ〜は addslashes () と ereg_replace () との組み合わせで OK のはず。
$user_name = addslashes ($_POST['user_name']);
$user_name = ereg_replase ("",";*",$user_name);
$sql = "select * from user_data where user_name=....以下略
ってな感じ。
0250nobodyさん
02/08/02 22:57ID:mm5hI6aiなるほど。なんか難しい処理を想像していたのですが、それで
解決しそうです。
0251nobodyさん
02/08/03 03:11ID:uQ0/1o1fC のコードは見つかったけど、php の実装って何も考えないオンメモリ
のヤツしか見つからない。
0252nobodyさん
02/08/04 22:38ID:FmVTsZMs$user_name = ereg_replase (";*","",$user_name);
こうだよね。
0254nobodyさん
02/08/06 22:52ID:nNpJo1Dzマジっすか。
初心者なんですが、テーブル作るの面倒だけど、
かねやんのMySQLAdminでテーブルだけ作って、cseで
csvから読み込みかな、と思ったんだけど。
Accessから、MySQLのテーブルにアクセスする手もあるから、
そっち経由での取り込みもありかな。
0255nobodyさん
02/08/06 23:43ID:???Accessで元ファイルを開いてエクスポートすればいい。
テーブルの回数分繰り返す必要があるけど、わりと楽な方法だと思う。
0256254
02/08/07 20:16ID:y8G64wf5>>Accessで元ファイルを開いてエクスポート
おお、そりゃ凄いって思ってやって見たんだけど、
「ODBC呼び出しが失敗しました」エラーが出ちゃうんです。
MySQL用のドライバは登録済みで
MySQLからのテーブルのリンクや更新は出来るんですが、何が原因なんでしょ?
0257nobodyさん
02/08/07 21:18ID:???他に何かメッセージ出てない?
Access2000→MySQL3.23.42(MyODBC-SJIS2.50.29.00と2.50.39.00)なら問題なくできてる。
MySQL側のデータベースにエクスポートするテーブルと同じ名前のテーブルが
あるとかいう落ちじゃないよね?
あとはODBCの登録のユーザの権限が足りないとか。
0258254
02/08/07 23:44ID:y8G64wf5Access2000→MySQL3.23.49Max debug OS WinMe
あ、ODBCが安定版と3.51版二つ入ってるから、それかな?
どっちもeucのパッチ当ててるけど、3.51版じゃ、アクセスにリンクして
開いたとき、文字化けしちゃったんですよ。安定版なら問題無かったです。
同じテーブル名では無いです。ユーザ権限は、インストール直後の
匿名ユーザが生きてるので、それで入ってます。
0259254
02/08/08 00:18ID:???「ODBC呼び出しが失敗しました」
[MicroSoft][ODBC Driver M (#0)
てなメッセージ。
MySQLにリンクしたテーブルは見えていて、更新も出来る状態です。
0260nobodyさん
02/08/08 19:23ID:???Accessのヘルプでものってない?
接続に失敗してるような気もするけど・・・
0261nobodyさん
02/08/23 21:30ID:XKTv55iv0262nobodyさん
02/08/23 21:46ID:???http://www.ipa.go.jp/security/awareness/vendor/programming/a02_01_main.html
dbiを理解しようとしてたので解らなかったのでした
0263nobodyさん
02/08/29 18:57ID:hMlp4ywr0264nobodyさん
02/08/29 20:29ID:???0265nobodyさん
02/09/01 05:16ID:ViCsMguiこれからMySQLを使おうと思っているのですが、
iモードでもMySQLは使えるのでしょうか?
よろしくお願いします。
0266nobodyさん
02/09/01 09:18ID:???0267みかか ドキュモ
02/09/01 09:23ID:???0268nobodyさん
02/09/01 20:01ID:RgHbazF4php+MySQLで、i-Mode用サイトを作り、i-Modeでアクセスすることは出来ます。
# EzWeb用も作ってくれ
0269nobodyさん
02/09/04 01:49ID:bvAr4qMV・トランザクションが無い
・福問合せができない
・トリガも使えない
こんなのデータベースと呼ぶのか?
RDMNSが使いこなせないDQNが使う代物じゃねーの?
0270PostgreSQL使い
02/09/04 02:17ID:JM4qWSZC> ・トランザクションが無い
Use MySQL-MAX
> ・福問合せができない
> ・トリガも使えない
使わなくて済むようにプログラム書け、というのが
MySQLの主張です。
> こんなのデータベースと呼ぶのか?
> RDMNSが使いこなせないDQNが使う代物じゃねーの?
MySQLは、いわゆる「RDBMS」ではなく、「SQLで入出力できるストレージ」と
考えて使うのが正しいような気がします。
0271nobodyさん
02/09/04 05:26ID:USu456uJDBというものに最近はじめて触れました。
ゲームのようなものを作っています。
アカウントごとに、アイテムを持たせます。
そのアイテムの個数は、可変です。
このようなアカウントごとの所有アイテム情報をDBに保持したい時、
どのようにやるのがベストでしょうか?
0272nobodyさん
02/09/04 11:11ID:???DBを使わないで、ファイルに保存するとして、アイテムの数を可変にするならどうする?
勝手に妄想してみると、アイテムの種類が多いor今後増えそうなら
id,アカウント名,パスワード,ハンドル,レベル,gold,・・・,アイテム数文字列
と言うようにしておいて(1レコード=1アカウントとする)、
「アイテム数文字列」に "アイテム1,アイテム2,・・・"と、カンマ区切りの文字列にしておく。
ただし、アイテム数でランキング表示するなどはやりにくい。
0273nobodyさん
02/09/05 00:36ID:uSX7DJwq配列を一つのカラムに入れるのはどうなのか?
と思っていたのですが、
それもアリなんですね。
0275271
02/09/05 01:12ID:???272さんへのレスでした。
0276nobodyさん
02/09/05 02:03ID:???アイテムの数や種類をその都度updateするんなら
きっちりと定期的にバキュームしてやらないと
DBが大きくなるぞ。
それより、テーブルを分散した方がよい。
ユーザー情報テーブルと、アイテムテーブルに。
アイテムテーブルには、
|ユーザーID|アイテム1|
|ユーザーID|アイテム2|
の様に・・・
ユーザー情報の方が大切なんだから、頻繁に更新しないほうが良い。
0277nobodyさん
02/09/06 14:30ID:???普通に考えれば、
アイテムID, ユーザID のフィールドを持ったテーブル用意して
そこにがつがつ詰め込んでいくんじゃない?
全アイテムに固有のID持たせるのか、アイテム種ごとにID持たせるのか、
とか、仕様によっていろいろ変ってくるだろうけど。
0278nobodyさん
02/09/06 20:14ID:EPlc0hR1id カテゴリ
+-+---+
|0| A |
|1| A |
|2| B |
|3| B |
+-+---+
1・カテゴリで分類して
2・分類内では ID が一番大きいやつ
をとりだしたいのです。
欲しい結果
+-+---+
|1| A |
|3| B |
+-+---+
で、この場合SQL はどうなるんでしょうか?
SELECT id,`カテゴリ` FROM `表` GROUP BY `カテゴリ`
とかやってみたんですが、2番目の条件がうまくいきません
おしえてください
0279☆
02/09/06 20:17ID:zUklKDWISELECT max(id) , カテゴリ FROM 表 GROUP BY カテゴリ ;
ダメっぽいかな??
0280nobodyさん
02/09/06 20:28ID:EPlc0hR1すんません、それでうまくいきます(^^;
本当にしたかったのはじつはこんなことなんです
id カテゴリ 名前
+-+---+------+
|0| A |あああ|
|1| A |いいい|
|2| B |ううう|
|3| B |えええ|
+-+---+------+
1・カテゴリで分類して
2・分類内では ID が一番大きいやつ
を
3・名前欄付きで
とりだしたいのです。
欲しい結果
+-+---+------+
|1| A |いいい|
|3| B |えええ|
+-+---+------+
0281nobodyさん
02/09/06 20:29ID:EPlc0hR1MYSQLなのよ(;´д⊂)
0282nobodyさん
02/09/06 20:32ID:EPlc0hR1SELECT MAX(id),`カテゴリ`,`名前` FROM `表` GROUP BY `カテゴリ`
とやると
+-+---+------+
|1| A |あああ|
|3| B |ううう|
+-+---+------+
になります
02838月のクリスマス ◆zzfy/JR2
02/09/06 20:47ID:zUklKDWI>SELECT MAX(id),`カテゴリ`,`名前` FROM `表` GROUP BY `カテゴリ`
これって GROUP BYの式がありません
というエラーが出ませんか???
02848月のクリスマス ◆zzfy/JR2
02/09/06 20:50ID:zUklKDWIもっと良いやり方はあると思うけど
select a.*
from (select max(id) id from test_tbl group by cat) b,
test_tbl a
where a.id = b.id ;
こんな感じでどうでしょうか???
0285nobodyさん
02/09/06 21:09ID:EPlc0hR1ありがとうございます。MySQL なんで副問い合わせができないんですよね(;´д⊂)
シンタックスエラーが出ます
ちなみに、282 の式だと エラーは出ません。
MySQL では GROUP BY にないフィールドでも普通に選択できます。
ただ、グループ内のどれが選ばれるかわからない諸刃の剣
グループ内で値がそろってるときには便利なんですが
0286nobodyさん
02/09/07 12:01ID:???どうよ?
0287nobodyさん
02/09/10 10:05ID:JRVUQPEU挿入がうまくいきません。コードは以下です。
【PHP】質問スレッドでたずねたのでマルチになりますが。。。
/**
* インサートテスト
*
* @access public
* @param ProductState $ps 製品状態情報
*/
function insert3($ps)
{
// DB接続
$this->connect(); // $this->db = DB::connect( $dsn )にて取得。
// SQL文
$sql = "INSERT INTO user (id,name,date) VALUES (?,?,?)";
// Statement取得
print "date=" . date("Y-m-d H:i:s",time()) . "\n";
$stmt = $this->db->prepare( $sql );
// SQL発行
// $this->db->execute($stmt, array($ps->id,$ps->name,time())); //これもだめでした。
$this->db->execute($stmt, array($ps->id,$ps->name,date("Y-m-d H:i:s",time()) ));
// DB切断
$this->db->disconnect();
}
※日付は現在時刻を挿入する。
※Access2000(MySQLでありません)のデータ型→日付/時刻型 (書式:yyyy/mm/dd HH:mm:ss)
※日付型以外(文字列、数値型)はうまくいきます。
エラー内容
SQLエラー → ステートは37000
0289287
02/09/10 14:38ID:20uIzqy9とりあえず。現状、テーブルに規定値 「Date()+Time()」が入るようにしていますが、これからことを考えて知っておく必要があるのです。
0290nobodyさん
02/09/10 14:39ID:20uIzqy9すいません。288は 280に対する答えでした。
申し訳ありません。
0291nobodyさん
02/09/11 23:36ID:thYL5S/gありがとうございます
特に処理が重くならないようなら...
メモリにいったん取り込むのはどうなんだろう、という気はします
0292nobodyさん
02/09/12 11:07ID:8CV8MtvhLIKE '%(ア%' AND 'ア%' など。
どなたか教えてください。
よろしくお願いします。
0293M
02/09/12 17:59ID:???DBに格納されている文字と検索文字の文字コードは同じになってる?
0294271
02/09/15 05:59ID:b9MOuSqZありがとうございました。
アドバイスを参考にして設計しなおしました。
ユーザー情報とは別に「所有アイテム情報テーブル」を作って、
所有者ID
番号(所有者IDごとに連番)
アイテムID
その他…
の列を作ります。
削除/取得時のレコードの処理をすっきりさせるため、
アカウント作成時に、
アイテム最大所持可能数分のレコードを、あらかじめ番号を振って作っておきます。
(まとめて並べておいた方が検索が速くなるんじゃないかという事も期待して)
アイテム取得時には、
アイテムID=nullで一番若い番号のレコードに、情報を書く。
アイテム削除時には、
当該レコードのアイテムIDをnullにする。
検索速度を上げるために、ユーザーIDでインデックスを作る。
というようなものです。
これは妥当でしょうか?
0295nobodyさん
02/09/16 05:55ID:???>アイテム最大所持可能数分のレコードを、あらかじめ番号を振って作っておきます。
>(まとめて並べておいた方が検索が速くなるんじゃないかという事も期待して)
updateをしたら、見た目には並んでても、データベースの内部的にはバラバラになっていきます。
それに、アカウント取るだけ取って利用しないユーザーも居るはず。
今現在使ってるレコード以外、作る必要なし。
ま、MySQLなら相当なレコード数じゃ無い限り、スピードの事は考えるな。
インデックスも、レコード数が少なければ逆効果という罠。
0296nobodyさん
02/09/18 10:52ID:uXrI3/gA>インデックスも、レコード数が少なければ逆効果という罠。
まぢですか!( ̄□ ̄;)!!
実際、どれくらいから効率的なのでしょうか?
0297294
02/09/19 10:36ID:+XOYWduWそうなんですかー。
DBの速度とか負荷が未経験なので、
かなり臆病なプログラミングになってる感じなんですが、
そんなに細かい気を遣う必要もないんですね。
0298名無しさん@そうだ選挙にいこう
02/09/19 10:57ID:D+O6nPi3調べてもわかりません。教えてください。
0299nobodyさん
02/09/19 22:38ID:jD2DR/iO外注してください。
お願いします。
0300nobodyさん
02/09/20 00:57ID:???>MYSQLにデータを書き込む時ってロックはいるの?
データの整合性を保つため、基本的に必要。
ただし、CGIなどでファイル書き出しと読み込みでかち合うために、
ファイルを壊す、といった事は無い。
0301nobodyさん
02/09/20 14:10ID:???>CGIなどでファイル書き出しと読み込みでかち合うためにファイルを壊す
こんな事ってあるの?
同時書き込みだけだと思ってたが…
0302nobodyさん
02/09/20 23:44ID:???ファイルを壊す、といった事は無い。
0303nobodyさん
02/09/21 08:50ID:0HoT4fY5selectした値をPHPで++してupdateするのではなく、
一文のSQLで書くことはできませんか?
0304nobodyさん
02/09/21 16:29ID:???PHPそのものの機能にはないですよね?
自前でプールクラス用意するしかないのかな
0305300
02/09/21 16:56ID:???>ファイルを壊す、といった事は無い。
そうだね。ファイルの中身が壊れる、だ。
>>303
update test set value=value+1 where id=1
0306nobodyさん
02/09/21 20:15ID:bcr2D3RXを使った無料検索エンジンスクリプトって
どこかにないでしょうか?
アクセスランキングじゃない奴です。
0309あぼーん
NGNG0310nobodyさん
02/09/24 16:49ID:???∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ´Д` ) < 通報しますた!
/, / \_______
(ぃ9 |
/ /、
/ ∧_二つ
/ /
/ \ ((( ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄
/ /~\ \ ( ´Д` ) < 通報しますた!
/ / > ) (ぃ9 ) \_______
/ ノ / / / ∧つ
/ / . / ./ / \ (゚д゚) ツーホーシマスタ!
/ ./ ( ヽ、 / /⌒> ) ゚( )−
( _) \__つ (_) \_つ / > (・∀・)ツーホー!
0311うんこ
02/09/27 12:51ID:s5yVUu+t持続的接続のことでしょうか?
http://www.php.net/manual/ja/features.persistent-connections.php
http://www.php.net/manual/ja/function.msql-pconnect.php
0312304
02/09/28 00:48ID:c3sX3Ag2>>311
あ、ありがとう。いつも普通にmysql_pconnect()使ってるのに
まったく気づいてなかった・・・。
たしかにこれでいけてるようですね。
今度時間があれば負荷はかってみます。
0313nobodyさん
02/09/28 01:40ID:AP2KcdnO0314名無しさん@そうだ選挙にいこう
02/09/28 10:59ID:???おう!がんがれ!
0315nobodyさん
02/09/30 09:52ID:KKxE6nj4みなさんどのように対処してます?
0317315
02/09/30 11:34ID:KKxE6nj4resありがとうございます
バージョンによっては出来るとか出来ないとか書いてあったんです・・・
それで出来ない人はどういうふうに対応してるのかなって思って
あうぅ。。。トランザクションエラー処理かけて戻したいですぅ・・・(T-T
0318noodyさん
02/09/30 11:40ID:???0319317
02/09/30 12:07ID:KKxE6nj4Maxですか???
0321noodyさん
02/09/30 12:40ID:???http://www.mysql.jp/mysql/TIPS/transaction.html
0322319
02/09/30 12:50ID:KKxE6nj4ありがとうございます
さっそく調べて実行してみます
0323319
02/09/30 13:19ID:KKxE6nj4http://www.innodb.comからダウンロードして設定すれば使えるようになるかな?
0324319
02/09/30 13:47ID:KKxE6nj4mysql Ver 11.12 Distrib 3.23.33, for pc-linux-gnu (i686)
これはバージョンアップした方が早かったりするのか・・・
0325nobodyさん
02/10/01 02:33ID:???php側はどのように書けばいいですか?
0326nobodyさん
02/10/01 14:28ID:EJy0Vdqk300になったらって、なにが300かわからん
具体的な表があると答えやすいかも
0327319
02/10/01 15:13ID:dCttkLX0LOCK TABLEでいくつかの処理が行えるという事がわかったんですが
使用方法がいまいちわかりません・・・。
rollback処理のように開始状態に戻すにはどのようにすればよいのでしょう?
↓普通にOCK TABLEを使用した例です
mysql> LOCK TABLES real_table WRITE, insert_table WRITE;
mysql> insert into real_table select * from insert_table;
mysql> TRUNCATE TABLE insert_table;
mysql> UNLOCK TABLES;
よろしくお願いします
0328nobodyさん
02/10/01 15:28ID:???ありがとうございます。
┌──┬────┬────┐
│ id │ Mem │ Mail │
├──┼────┼────┤
│1 │Xxx │Xxxx │
├──┼────┼────┤
│ │ │ │
│299 │Xxx │Xxxx │
├──┼────┼────┤
│300 │Xxx │Xxxx │
└──┴────┴────┘
↓
┌──┬────┬────┐
│ id │ Mem │ Mail │
├──┼────┼────┤
│2 │Xxx │Xxxx │
├──┼────┼────┤
│ │ │ │
│299 │Xxx │Xxxx │
├──┼────┼────┤
│301 │Xxx │Xxxx │
└──┴────┴────┘
データが300というのはこんな感じなんですが、掲示板のように後からデータ入力されて蓄積されるので、
id 1が古いデータになるので、id 301 が追加されると、id 1 が削除される。
この時の300という上限枠をどのようにしたらいいのか
わからない、というかどんな感じにすればいいでしょうか?お願いします。
0329hmk
02/10/01 15:50ID:???まず、
"SELECT COUNT(*) FROM the_table" の結果を変数 $cnt に代入せよ。
そして、
"DELETE FROM the_table WHERE id<=${cnt}-300" せよ。
0331nobodyさん
02/10/03 13:23ID:m4AMz0v6COUNT しちゃだめっしょ うまくいくのは一回目だけ...
0332nobodyさん
02/10/03 13:32ID:???正ならその分だけ上から Delete。
0333nobodyさん
02/10/07 16:51ID:???0334nobodyさん
02/10/07 19:16ID:???Webプログラミングしてる人間が少ないのか?
0335hmk
02/10/07 19:57ID:???そうでした。失礼しました。
>>334
何ででしょうね。
本業でやってる人はこんなところに来る必要なないにしても、趣味でいじくってる人は沢山いてもよさそうだが。
他の板とか2ch以外のところで解決してるのかな。
0336nobodyさん
02/10/08 14:53ID:???0337nobodyさん
02/10/08 15:40ID:???http://www.mysql.com/doc/en/SELECT.html
0340nobodyさん
02/10/09 15:13ID:???どのような方法があるのでしょうか?
現在は SELECT 文を発行して
mysql_error() から判断していますが、
何か他にスマートな方法があるのではないかと思いまして……。
0341nobodyさん
02/10/09 15:42ID:k7vFrv7Zあんがい、'show databases' がつかえたりして
PHPで一階層上のファイルを指定するにはどうしたらよいのでしょうか?
HTMLで1階層上を指定するには「../」(ドットドットスラッシュ)ですが、
PHPで同じ事をやろうとしてもうまくいかないみたいです。
すごく初心者な質問で申し訳ないのですがどなたかご教授お願いします。
0344nobodyさん
02/10/11 16:35ID:F1zE+kMi>>14-50
>>298-305
すいません結局頻繁に書き込みされる掲示板などで
MySQL使うな!ってことですか?
MySQLでのトランザクションは遅くてインデックスつくれないカラムとかある
lock tables ではテーブルにロックがかかってしまう
ロックなしではファイルの中身がおかしくなる危険がある
get_lock()の使い方がよくわかりません!
↑これで解決できますか?
0345質問
02/10/11 17:04ID:5gjwH8o2頻繁に更新やバージョンアップが行われそうなかんじです。
そこで質問ですがPHPでのコーディングの見本みたいなのってありますでしょうか?
こうコーディングしろみたいな。
なんか一冊本を読んでみたら、あんまりいいソースではなさそうなので。
へんにテクニックはしったトリッキーなのではなく実際の運用、メンテなんかも考慮して
いいソースがあったら教えてください。
0346nobodyさん
02/10/11 17:27ID:vFRmIjHvよかったら俺の開発したクラスでも使いたまへ。
/*
ロックするクラス
使い方
//インスタンス生成→初期化→ロック実行
$issue_lockSet = new lockSet;$issue_lockSet->init("lockman",10);$issue_lockSet->lock_suru();
// 更新作業する。
//lockをはずす
$issue_lockSet->lock_kaijo();unset($issue_lockSet);
*/
class lockSet{
var $string;var $timeout;
function init($inputString, $inputTime)
{
$this->string = $inputString;$this->timeout = $inputTime;
}
function lock_suru(){
global $my_con;
if (!$result_lockSet = @mysql_query("select GET_LOCK(\"$this->string\",$this->timeout)",$my_con)){
print "データのロックに失敗しました コード=".mysql_errno()."<br>";exit;}
$get_lock = mysql_fetch_array($result_lockSet);
if ($get_lock[0] != 1){print ("他のスレッドによるロックがかかっています<br>しばらく置いてからもう一度トライしてください。");exit;}
mysql_free_result($result_lockSet);
}
function lock_kaijo(){
global $my_con;
if (!@mysql_query("SELECT release_lock(\"$this->string\")",$my_con)){print "ロックの開放に失敗しました<br>";exit;}
}
}
0347nobodyさん
02/10/11 19:53ID:???これはMySQLに限ったことじゃないんじゃないのか?
0348名前
02/10/11 20:15ID:???ローカルから接続しようとすると
DBI->connect(atmarkit:localhost) failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) at list1.pl line 5
Can't call method "prepare" on an undefined value at list1.pl line 6.
とやられてしまいます。
http://www.atmarkit.co.jp/flinux/index/indexfiles/mysqlindex.htmlの記事を読んで、そのままやってみたのですが、うまくいきません。
権限の問題なのでしょうか?
0350344
02/10/11 21:06ID:F1zE+kMiってちゃんとクラス使ったことのない初心者なんでちゃんとクラスの勉強して
使わせて頂きます!
>>347
そうですね、MySQlだけ、みたいな書き方してましたね
紛らわしいいカキコですいませんでした。
0351nobodyさん
02/10/11 21:39ID:???A,B,C,D,E,F,G,H,I
と1つのテーブルで処理するのと
A,B,C,D,E
A,F,G,H,I
と2つのテーブルにするのとでは、どちらが処理時間が短く済みますか?
0352nobodyさん
02/10/12 01:10ID:???ケースバイケースだね。
レコード数にもよるし…
毎度毎度joinするなら、一つにして置いた方が良いけど、
それぞれ別で使うけど、たまにjoinする位なら分けても良いだろうね。
どんな処理が一番使用頻度が高いのか見極めないと…
単純に、全てのデータを読み込むだけってなら、一つの方。
0353nobodyさん
02/10/14 20:41ID:OXcSlbm9http://www.atmarkit.co.jp/flinux/rensai/mysql04/mysql04b.html
のやつそんまま動かしたね?それPerlの記事…
http://www.atmarkit.co.jp/flinux/rensai/mysql05/mysql05b.html
を見られたし。
0354nobodyさん
02/10/14 23:11ID:BzOMwuS2$sql="select * from table1 where year>1998 and month>9 ;
where以降の複数の条件をプルダウン形式か何かで選択して、ボタンで実行するのに何か助言が参考URLがあればよろしくお願いします。
0355nobodyさん
02/10/15 00:00ID:???ってか質問するレベルじゃないだろ
0356nobodyさん
02/10/15 00:01ID:???0357hmk
02/10/15 00:09ID:JxJ8+H53MySQLはよく知らんが、以下のようにすればよいでしょう。WHEREで指定する条件を以下のように配列に入れてからimplode()する方法ですと、条件を簡単に付け加えられるので皆様におすすめします。PHP4の場合、フォーム変数を$_GET等で取得するのを忘れずに。
<?php
// ここでDB接続する。
$where[] = "year>${year}";
$where[] = "month>${month}";
$sql = "SELECT COUNT(*) FROM table1 WHERE " . implode(" AND ", $where);
// 結果を$cntに代入する処理をする。
?>
<html><body>
<?php if (empty($submit)) { ?>
<form action="">
年を選んで下さい。
<select name="year">
<option value="1999">1999</option><option value="2000">2000</option><option value="2001">2001</option>
</select><br>
月を選んで下さい。
<select name="month">
<option value="1">1</option><option value="2">2</option><option value="3">3</option>
</select><br>
<input type="submit" name="submit" value="送信">
</form>
<?php } else { echo "該当${cnt}件"; } ?>
</body></html>
0358nobodyさん
02/10/15 00:52ID:???セキュリティ的にヤバイだろ。
>357
そんなんだと単純なSQL文にしか対応できないからヤダ
0359hmk
02/10/15 01:27ID:JxJ8+H53>セキュリティ的にヤバイだろ
「生で」の意味がよくわからないが、掲示板程度のものならセキュリティなんて問題にならないと思われ。
>そんなんだと単純なSQL文にしか対応できないからヤダ
そんなことはない。
例えば、以下のようにすれば状況に応じて条件を加えたり外したりできる。
if ($male_only == TRUE) {
$where[] = "SEX='male'";
}
また、357の例だとAND条件しか出てこないが、工夫次第でOR条件も組み合わせられる。
上記方法は、約一年の業務経験から、コーディング速度、メンテナンス性共に高いものだと思われます。
お前ら、WHERE句の柔軟な整形法について何か他の意見はありませんか?
0360nobodyさん
02/10/15 01:29ID:???氏ねよ。
0361nobodyさん
02/10/15 01:31ID:???> ってかみんなユーザーからのリクエスト(POST、GET)の値を生でSQL文とかに入れてんのか??
> セキュリティ的にヤバイだろ。
356氏が喚起してる。
0362nobodyさん
02/10/15 01:34ID:lZ9npSqAうまく行きました。ありがとうございました。
OR条件もうまくいきました。感謝です。
0363hmk
02/10/15 01:59ID:JxJ8+H53掲示板程度云々は言い過ぎました。失礼しました。
だけど、SQLの検索条件にするだけなら、「生」で問題はないのでしょう?
0364nobodyさん
02/10/15 02:26ID:0Z8FjDM5「ちょっとくらいなら」とか言って生で中出しするタイプだな。
0366hmk
02/10/15 03:53ID:OUYqpstsよくよく考えてみたのだが、ユーザからのデータは生のままDBに入れておくほうが良いと思う。セキュリティが問題となる場面では、DBから取り出した後にデータを加工すれば良いのですから。
ところで、不要/不正なデータをINSERTしないのは良いとしても、何らかの加工をしたデータを挿入するのはブ男のすることだと思う。
0368hmk
02/10/15 13:47ID:???処理速度を稼ぐためだとか、プライバシーを守るためだとかいう理由があるのなら、加工されたデータをDBに保存しておいてもよいと思うが。
0369nobodyさん
02/10/15 21:32ID:V68LrvQrif (! $result) echo mysql_error();
$affectedRows = mysql_affected_rows($result);
という何の変哲もないコードなんですが、
affected_rowsの行でエラーになります。
delete自体は問題なく行われているのですが…
何故なんでしょう?
0370nobodyさん
02/10/15 21:55ID:???mysql_connectまたはmysql_pconnectの戻り値を渡すのでは?
0371nobodyさん
02/10/15 22:04ID:???仰る通りでした。
引数に結果IDと接続IDを取るパターンがあるんですね。
すべて結果IDと思いこんでいたのでかなり悩みました。
ありがとうございました。
0372さばかん
02/10/16 13:05ID:IQMQRi3ESQL構文にそのままユーザー入力血を入れるのはやめれ
「CGI」 と 「セキュリティー」で検索すれば
いろいろ参考資料が出てくると思うが
ここに出てるのはサンプルなんで
mysql_escape_string とか使ってないだけだよね……
本物ではちゃんとエスケープしてるよね……
0373nobodyさん
02/10/16 13:57ID:???とあるときに、
$a に 「');update t_hoge set comment='';」
とされるとか。
0374nobodyさん
02/10/17 17:54ID:UeoXfZ3yhttp://www.ipa.go.jp/security/awareness/vendor/programming/a02_01_main.html
0375nobodyさん
02/10/17 20:22ID:???0376nobodyさん
02/10/17 23:47ID:???0377nobodyさん
02/10/18 00:50ID:???hmkのテーブルをdropしまくりたかったのに。
0378hmk
02/10/19 01:36ID:???まだ自前のサイト作ってないからセーフでした。
今更ながら、漏れが仕事やってたときに作ったスクリプトではヤバいかも。
ちゅうことで、>>377君、直しておいてくだちい。
0379nobodyさん
02/10/25 21:04ID:8s4WkUQVmysql -u root
set password for root=('設定するパスワード');
flush privileges;
で最後のとこで
ERROR 1045 Access denied for user: '@localhost' (Using password: NO)
ってでてつまってます。
なんか他のユーザー作成とかなにかやろうとするとすぐ同じエラーがでてきちゃう
んですけど、だれかたすけて〜
0381PHP
02/10/31 10:48ID:Ey5wVXntデータ件数が50万件くらいの規模ならサーバスペックはどれくらい必要なの?
ピークは1時間に2000件くらいかな。
PHP+Apacheのサーバを別に立てて検索させます。
みなさまプリーズ!
0382nobodyさん
02/10/31 10:50ID:YIQwg1nb0385nobodyさん
02/10/31 13:21ID:???0386nobodyさん
02/10/31 14:08ID:???>ピークは1時間に2000件
なら、一件辺りは1.8秒だろ。
家のPentium 133MHzでも十分な結果を出せる
相当複雑な問い合わせをしない限り
で、複雑なことすんの?
0387PHP
02/10/31 14:43ID:Ey5wVXnt>>386
検索一覧と、検索集計です。
テーブルは2テーブル(マスタ、明細)を利用します。
SQLは以下の通りです。
・select * from detail where xxx= 999 order by yyy;
・select * from detail where xxx = 999 order by zzz ;
・select aaa,sum(bbb),sum(ccc) from detail where xxx = 999
group by ddd
order by sum(金額) ;
0389nobodyさん
02/11/04 00:32ID:laarhpsvMySQLとPostgreSQLで
table1
id
name
table2
id
date_from 期間はじめ
date_to 期間終わり
というテーブルで、
任意の日付がtable2の期間に引っかかる場合のtable1.name
を求めるにはどうしたらよいですか?
table1のidについてtable2で複数の期間が設定されています。
よろしくお願いします。
0390nobodyさん
02/11/04 00:50ID:???SELECT t1.name FROM table1 AS t1,table2 AS t2 WHERE t1.id=t2.id AND (NOW() BETWEEN t2.date_from ND t2.date_to) GROUP BY t1.name
こういうこと?
0391389
02/11/04 01:34ID:laarhpsvサンクスコ。
うまくできました。ありがとうございました。
0392nobodyさん
02/11/07 00:21ID:xJ2aD5Sd0393nobodyさん
02/11/07 00:32ID:???http://www.mysql.gr.jp/jpdoc/3.23.x/manual.ja_Reference.html#BLOB
0394nobodyさん
02/11/07 18:20ID:Go7yQUbZテーブルA
会員番号 キー
名前
テーブルB
取引番号 キー
会員番号
取引年月日
取引額
取引内容
で、テーブルAに会員番号があってテーブルBにデータがない
(つまり会員登録があるが、取引がない)ものを
列記したいのですが、どうしたらいいですか。
0395nobodyさん
02/11/07 19:09ID:???0396nobodyさん
02/11/07 20:07ID:???それ以前に日本語を・・・ゲホゲホ
0397nobodyさん
02/11/07 21:02ID:py1Qds2+0398nobodyさん
02/11/07 22:02ID:???ぐぐっても有用な情報が見付からなかったんで、よろしければ教えて下さい;
最近PHPを始めた者で、多人数同時参加型のウェブゲームを作っています。
今までPerlでゲームを作る際、データを保存するにはテキストファイルを用いてましたが、
データ量やファイルアクセスが多い場合、データベースファイルの方が良いということを聞きました。
しかし、生まれてこの方データベースというものには一切触れたことがありません;
色々調べながら取り合えず動こうと思い、MySQLをインストールしたのですが、結局さっぱりです。
それどころかデータベースの概念(?)すらはっきりしていない状態です。。。
やりたいことは決まっているのですが、まず何を学べばいいか解らずに行き詰まっています。
上記のような使い方をする場合、まず何から手を付ければいいでしょうか。
参考になるサイトや書籍の紹介でも構いません、何かヒントを下さい;
お願いします。
0399nobodyさん
02/11/07 22:14ID:???ttp://www.hotwired.co.jp/webmonkey/backend/?tw=backend
「PHP/MySQLチュートリアル」
「はじめてのデータベース」
とかどうよ?
0400nobodyさん
02/11/07 22:23ID:cSdInRt3where テーブルA.会員番号 not in ( select テーブルB.会員番号 from テーブルB )
が使えればなぁ。。。
0401nobodyさん
02/11/07 22:49ID:???MySQLは触ったこと無いがOUTER JOINがつかえるようなので
SELECT テーブルA.* FROM テーブルA
LEFT JOIN テーブルB ON テーブルA.会員番号 = テーブルB.会員番号
WHERE テーブルB.会員番号 IS NULL;
とかできるんじゃねーの?
0403394
02/11/07 23:51ID:EWRqr+Ty私も最初それを試したのですが、エラーでした。他のDBMSではできたりするんですかねえ。
>>401
サンクスコ。できました。ありがとうございました。
0404nobodyさん
02/11/08 00:50ID:???http://www.wakhok.ac.jp/DB/DB.html
0405nobodyさん
02/11/08 01:08ID:Veqht0/QMySQLで、例えば
A B C
というフィールドがあるとして、C列にA列とB列を足した値を
入れておくことってできますか?しかも、A列とB列の値が変われば
自動的にC列の値も変わるというようにできますか?
やはりPHPなどのプログラムをかまさないとできないものでしょうか。
0406nobodyさん
02/11/08 01:39ID:???0407nobodyさん
02/11/08 10:05ID:OADrmVQDC列は不要。406のやり方でA+Bを取ってくればいい。
0408nobodyさん
02/11/08 10:40ID:???>>407
情報ありがとうございます。
例えばPHPで、そのA+Bを使用したい場合はどのようにすれば良いでしょうか?
フィールド名があれば、mysql_fetch_arrayを使用して
例えば、$a = $data['a']として扱えますよね。
でも、A+Bはフィールド名は無いですよね。
その場合は、mysql_fetch_rowを使用して、
$total = $data[2]と言うように設定して使用するべきでしょうか?
アドバイスお願いいたします。
0409nobodyさん
02/11/08 15:15ID:???0410渚
02/11/08 17:22ID:???SELECT a,b,a+b as c FROM hoge;
というようにasを使えばmysql_fetch_arrayでいけます。
お試しあれ。
0411nobodyさん
02/11/10 18:52ID:???0412nobodyさん
02/11/12 01:24ID:SsiSHuUc列Aと列Bをくっつけ、さらにcount(*)で数えて2以上あるデータを多い順から並べるということをやりたいのですが
なかなかうまくいきません。
mysql_query("select A_col,B_col as DATA1 ,count(*) as DATA2 from TABLE_1 group by DATA1 having DATA2 >=2 order by DATA2 desc");
↑は列B_colのデータでのみ集計してこなくて詰まっています。
---------------TABLE1の中身
A_col B_col
aaa 111
bbb 111
aaa 111
bbb 222
---------------
↑のデータで「aaa111 が 2」を出力したいのです。助けてくださいまし(;´Д`)
0413nobodyさん
02/11/12 01:49ID:TeIlFbWyfrom TABLE_1
group by DATA1 having DATA2 >=2
order by DATA2 desc
0415nobodyさん
02/11/12 14:59ID:???MySQLであるフィールドを全部取得し、
$sql = "select count from dataA
countフィールドの数字を合計したいと思い、
$reslut = array_sum (A,B,C,・・・) ; というのを調べてきたのですが、
$sqlを(A,B,C,・・・)というような配列にするのはどうしたらよいでしょうか?
教えて君でゴメンなさい。お願いします。
0418nobodyさん
02/11/13 00:58ID:???$sql = "select SUM(count) from dataA";
$result = mysql_query ($sql) ;
if (!$sql)
{ print("SQLの実行に失敗しました") ;
exit;
}
print ("<center>過去実績:<br>" . $result . "件。</font></p>") ;
0419nobodyさん
02/11/13 01:17ID:???お、おまえ、PHP+MySQL完全に初めてだな。
そんなんで$resultの中にSUM(count)の結果が入ってるなら
select userid,password,mail_address from user
とか実行したら$resultには何が入ってくると思う?
http://www.hotwired.co.jp/webmonkey/2000/01/index3a_page2.html
0420nobodyさん
02/11/13 02:12ID:???プログラム自体初めてに近いです。独学で試行錯誤で頑張ってます。
初心者にレスありがとうございます。
他の select 文は表示されるのですが、これは表示されないです。
0421419
02/11/13 02:29ID:???$result = mysql_query($sql);
if( $row = mysql_fetch_array( $result ) ){
print ("<center>過去実績:<br>" . $row[SUMCOUNT] . "件。</font></p>") ;
} else {
print ("失敗。") ;
}
こんなんでいけると思う。
というか入門書でも買った方がいいよ。
数千円のお金より垂れ流れていく時間のほうが大事っす。
0422nobodyさん
02/11/13 02:37ID:???データを抽出して、配列に格納して、print。大体この順序だし。
0424nobodyさん
02/11/17 21:14ID:uOvn3njtこれをlDate + lTime以下を条件に削除したいので
SQL文 Delete From table Where lDate < '2002-11-17' And lTime < '00:00:00' をmysql_query()で実行しますた。
でも削除されません。
エラーでてないようです。
何がいけないのでしょうか?
0425nobodyさん
02/11/18 00:13ID:IKSCnBSVあなたの頭...
時間を評価に加えたいなら、条件は次のようになるでしょ。
lDate < '2002-11-17' OR (IDdate='2002-11-17' AND lTime<'XX:XX:XX')
私ならこういうスケルトンは切らんけど。
0427nobodyさん
02/11/21 03:53ID:R8Yr+Jw9テーブルに(客ID、商品ID、個数)を入れます。(複数注文の場合はループで一つ一つ入れます。)
この場合、テーブルタイプはBDBとInnoDBどっちがいいでしょう?
厨な俺は今までMyISAMでロックなしでやってました…
0429nobodyさん
02/11/21 13:08ID:T4lGgkT+0430428
02/11/21 18:54ID:zV2T5Gzqソレを考えるのがプログラミングの醍醐味では?
DBを使わない、ファイルにログを書き込むタイプの掲示板なんかのロック処理を応用する。
0431427
02/11/22 16:23ID:???ご教授ありがとうございます。
PHPで処理してみます。(注文はアホみたいにきませんが・・・)
0432nobodyさん
02/11/24 21:18ID:9k1JVlB20433394
02/11/24 21:59ID:OWmSQ2+XEUC-JPとかUTF-8とかをつかってみる
0434nobodyさん
02/11/24 22:41ID:9k1JVlB2どうしても S-JIS にしたい場合はどうすればいい?
0436nobodyさん
02/11/25 08:15ID:Wgc+tEwe実害は無いのですが気持ち悪いので何かスマートに順番に並べる方法は無いでしょうか
0437bloom
02/11/25 09:16ID:Ou4iEOduhttp://www.agemasukudasai.com/bloom/
0438nobodyさん
02/11/25 13:42ID:JXdRZ3s0意味がよくわかんないんだけど、だったらdelete するな、と思うのはおれだけか?
0439nobodyさん
02/11/27 06:16ID:AyxusqCIMySQLでデータベースに日付を入力するDATEと時間を入力するTIMEというカラムを
つくったとします。
そして、DATEには2002-11-27とTIMEには00:00:00という行と、
DATEには2002-11-27とTIMEには00:10:00という行と、
DATEには2002-11-26とTIMEには00:00:00という行が入力されたとします。
これを古い順でソートしようとすると、order by DATEとつけることになると
思うのですが、時間の順ではソートできなくなります。どうすればいいんでしょうか??
どなたかご教授ください。よろしくお願いします。
0440nobodyさん
02/11/27 09:24ID:???ORDER BY DATE,TIME
0441439
02/11/28 01:03ID:bMROl6Clああ、それでいけるんですね。手元にある本にのってなかったので、、、
ちゃんとマニュアルよんどきます。
というかDATETIME型なんてあるんですね。
勉強不足でした・・・助かりました。修行に励みます。失礼します。
0442nobodyさん
02/11/28 12:31ID:+5GONPaTレコードの数字部分の最小の値を得たいのです。
例えば
AB-001
AB-002
AB-003
ならばAB-004を
AB-002
AB-001
AB-100
ならばAB-100を
得るようにしたいのですが、どのようにしたらよいでしょうか?
AB-001から順番に調べていくのでしょうか?
スマートな方法があればうれしいです。
宜しくお願いします。
0443nobodyさん
02/11/28 14:47ID:???ABってのが入ってるのと001が入ってるフィールドは別?
同じフィールドにハイフン区切りで入ってるの?
AB-xxxって値が入ってるの?全部AB?
最小なら上の例なら001、下の例なら002じゃないの?最大の間違い?
0444nobodyさん
02/11/28 15:21ID:+5GONPaTすいません。
日本語がわやな上に言葉がいろいろ抜け、さらに間違っています。
文字列レコード(primary keyを指定しています)
の数字部分の使用されていない最小の値を得たいのです。
例えば
AB-001
AB-002
AB-003
ならばAB-004を
AB-002
AB-001
AB-100
ならばAB-003を得たいです。
0445nobodyさん
02/11/28 15:21ID:+5GONPaT$record[] にレコードを全て取得しているとして
$prefix = "AB-"として、
for( $i = 1; $i <= count( $record ) + 1; $i++ ){
// 個数より2以上大きい数が最小となることはない
sprintf( $check_str, "%s%03d", $prefix, $i );
$check = true;
for( $j = 0; $j < count( $record ); $j++ ){
if( $record[j] == $check_str ){
$check = false;
break;
}
if( $check )
break;
}
echo $check_str;
スマートな方法があれば教えて下さい。
0446nobodyさん
02/11/29 00:30ID:???テーブル設計をみなおす
0447nobodyさん
02/11/29 23:10ID:kyVi4Psy調べてみると、
telnetで直接insertしようとしても、えんえん待たされる状態になりました。
同じdatabaseの他のtableにはinsertできるのですが…。
これはどのような原因が考えられますか?
0448447
02/11/29 23:47ID:kyVi4Psyselectは出来ますが、
telnetでeucの日本語が文字化けするので
ちゃんとできているのかはいまいち分かりません。
ロックはかけてませんが、テーブルが壊れることはない、
と過去ログにはあるし…なんなんでしょう?
0450447
02/11/30 02:33ID:???レスありがとうございます。
なんとも不可解だったのですが、
MySQLもインストールしてある/usrが
Apacheのログで100%Usedになっていたのが原因でした。
おさわがせいたしますた。
0451nobodyさん
02/11/30 08:11ID:67+5HzncみたいなPHP + MySQLの初心者向けのサイト教えてください。
0452nobodyさん
02/11/30 12:17ID:jN+HZDrEMySQLの導入
http://www.rfs.jp/server/mysql/index.html
PHP/MySQLチュートリアル
http://www.hotwired.co.jp/webmonkey/programming/php/tutorials/tutorial4.html
PHPマニュアル
http://www.php.net/manual/ja/
0453nobodyさん
02/12/01 18:22ID:???例えばアクセス解析スクリプトとか。
というのも、当方が使ってる解析スクリプトは Les Visiteurs なんですが、解析表示で MySQL の CPU 使用率が百パーセント近くになってしまうんです。
Win32 で MySQL をお使いの方、貴殿のマシンではどうですか?
0454nobodyさん
02/12/02 15:37ID:???自己レスです。
とりあえずprefixはテーブルの外に出して番号だけを入れるようにしました。
で、全検索しますた。お騒がせしました。
>>453
うちもそうなります。カーソルまで固まりますね。
現状はそういうもんかと思っていますが、、
0455453
02/12/03 21:32ID:???レスポンスありがとうございます。
そうですか。やはりWin32ではそうなるようですね。
PC-UNIXへの乗り換えを真剣に考えてみたいと思います。
0456nobodyさん
02/12/05 00:18ID:kQitN0HNwhileで回して毎回selectで読みに行くようなやり方でいいんでしょうか?
もっと上手いやり方とかありませんか?
0457nobodyさん
02/12/05 00:29ID:VZIKFHpLこういうことじゃなくて?>>456
0458nobodyさん
02/12/05 14:18ID:???質問があります。
PHP とか MySQL って、EUCだと思うのですが、
全て S-JIS で組みたいんです。
どうすればできるようになるのか教えてください。
0459nobodyさん
02/12/05 14:23ID:???0461nobodyさん
02/12/05 16:08ID:Z0U+Oe8ha.phpとb.phpがあって、それぞれmysql_pconnectでMySQLに接続しているとします。
その際、a.phpの接続をb.phpでも再利用してくれるのでしょうか?
それとも、a.phpで確立した接続は次にa.phpがリクエストされた場合のみ再利用されるのでしょうか?
0462nobodyさん
02/12/05 16:39ID:???0463nobodyさん
02/12/09 01:33ID:???相場はどのくらいよ?みんな自鯖なわけ?
0464nobodyさん
02/12/09 05:46ID:vvvONNMO携帯はEUCじゃないんで、少し気になったのですが、
MySQLに入れる文字列、S-JISで問題ないですか?
0465464
02/12/09 05:53ID:vvvONNMOEUCにしてからDBに入れる、
取り出してからSJISに変換…というやり方でいいのでしょうか?
0466nobodyさん
02/12/10 00:57ID:ZDH4nUdeたぶん正解。あとでトラブりたくないならそれがベストでしょう。
0467nobodyさん
02/12/10 21:21ID:1xJ1WsMKWin98にApache+PHP+MySQLをいれたのですが、
データベースのデータはDOSプロンプトからしか作成できないのでしょうか?
それと、
<?php
$link=mysql_connect("localhost","root","????");
if ($link==false) die("接続できてない");
print "接続完了!!";
mysql_close($link);
?>
このソースをWebにUPしたときは、"localhost"と"root"と"????"の場所には
何を記述すれば良いのでしょうか?
0468nobodyさん
02/12/10 21:45ID:???( ,,)┌─┴┴─┐
/ つ. 厨房警報 |
〜′ /´ └─┬┬─┘
∪ ∪ ││ _ε3
゛゛゛'゛゛'゛゛'゛'゛゛'゛'゛゛゛゛'゛゛゛'゛゛
0469nobodyさん
02/12/10 22:16ID:nfrh3Etoただ、データベース管理ソフト(PHPスクリプトではない)などを用いた場合はこの限りではない。
localhostの部分は、貴方のマシン上でデータベースが走っていれば変えなくてもいい。
rootは貴方が前もって作成した自分のユーザー名、????はそのパスワード。
ところで皆さん、今日はサボらず仕事しますたか?
0470nobodyさん
02/12/10 23:29ID:???まさか。一日中2ch三昧デスヨ
0471nobodyさん
02/12/11 03:23ID:wyfErbBzカウンタでorder byしてselectしてた結果セットから、
指定した範囲のデータを取り出すにはどうすればいいのでしょうか?
0474nobodyさん
02/12/11 06:40ID:???0475471
02/12/11 09:00ID:???そうです。
>>474
ありがとうございます。
全取得してmysql_data_seek使ってました。
SQLの段階でlimitを使えるんですね。
0476質問です
02/12/11 16:44ID:???どのようにすればいいんでしょうか?
0477nobodyさん
02/12/11 16:59ID:???0478bloom
02/12/11 17:02ID:tfVVditWhttp://www.agemasukudasai.com/bloom/
0479質問です
02/12/11 17:02ID:???ありがとうございます!
TIME_FIELDはDATETIMEで「2002-12-11 17:00:00」のような感じでいいんでしょうか?
それともUNIX時間のようなものを登録したほうがいいんですか?
0480nobodyさん
02/12/11 17:07ID:???> TIME_FIELDはDATETIMEで「2002-12-11 17:00:00」のような感じでいいんでしょうか?
うん。
0482あの〜
02/12/11 20:14ID:ev3EQy1k簡単にデータ移行できるソフトとか方法があったら教えて欲しいのですが…
dumpとかよくわからなくて…
0483nobodyさん
02/12/11 20:27ID:???0484nobodyさん
02/12/11 21:38ID:???0485あの〜
02/12/12 14:14ID:ZuG/4ZFd一度csvにダウンロードして、phpMyAdmin内で「テーブルにテキストファイルの追加」ってので一応できました。
ただ、文字化けの問題だけが…
一部ですが、文字化けする文字のエスケープ処理!?が解決できれば(^0^)/なんですが…
ちなみに、元データは文字化けをしない状態にして保存されています。(\とかが付かない状態)
0486nobodyさん
02/12/13 00:28ID:???0488しつもんくん
02/12/13 22:47ID:suET/Tk2追加したとします。
その直後に、auto_incrementのフィールドに入った値を知る方法はありますか?
0489nobodyさん
02/12/13 22:52ID:???0491nobodyさん
02/12/14 00:18ID:???大変助かりました。ありがとうございます。
>>489
一応検索したけど見つけることができませんでした。
insert into じゃなくてinsert で探せば良かった・・・
0492nobodyさん
02/12/14 18:38ID:ReF0iUS4$result = mysql_query("select id from test");
$num_rows = mysql_num_rows($result);
よりも、簡単な方法はありませんか?
$result = mysql_query("select count(id) from test");
で、求められるようにも思えるのですが、いまいち方法がわからないです。
最初のやり方だと、行数がふくれたときに重くなりそうな気がしますし。
0493nobodyさん
02/12/14 20:25ID:???でデータを取得できると思う。
ただし、やってることは同じ。軽くなりません。
0494492
02/12/14 23:37ID:???返答ありがとうございます。勉強になりました。
とりあえず、データを挿入するときに、別の場所に挿入した行数を保存することで
対処しようかと思います。
0495nobodyさん
02/12/15 03:21ID:???みたいに、名前を付けて、
$rows = mysql_fetch_arrya( $result ) ;
$num_rows = $rows["n_rows"] ;
とできるんじゃなかったけ? (実行環境が無いので自信無し)
取得後は、
mysql_free_rusult( $result ) ;
とメモリを開放してやること。
「別の場所に挿入した行数を保存」するのは、管理が大変じゃないかな。
0496nobodyさん
02/12/16 23:56ID:???その値の古い順に削除するにはどうすればいいですか?
$query = "DELETE FROM table_name WHERE 1 > 0 ORDER BY date_field LIMIT $cnt";
これだと文句言われるです
0497496
02/12/17 00:14ID:???0498nobodyさん
02/12/17 22:46ID:UtA/ADywphpdevなるものをインストールしました。
http://www.firepages.com.au/
結構楽かも。
http://www2a.kagoya.net/~adults-toybox/sample2.wmv
http://www2a.kagoya.net/~adults-toybox/
0500nobodyさん
02/12/17 23:01ID:???0501nobodyさん
02/12/17 23:53ID:???嬉しいのは分かるがphpdevの説明ぐらいしてください。
「phpdevとは、Windowsに PHP、MySQL、Apache、 (PERL)などをインストールするパッケージです」
>>500
嬉しいのは分かるが、最後にズサーが抜けてます。
0502nobodyさん
02/12/18 20:26ID:5JJf1BHQわからない部分がありましてご教授願えたらと思い投稿させていただきます。
1 $c=mysql_query("select id from TW_click where url='$j' order by id desc limit 1");
2 $d=mysql_fetch_object($c);
3 if(is_object($d)){
4 mysql_query("update TW_click set hits=hits+1 where id={$d->id}");}
5 mysql_query("insert into TW_click (url)values('$j')");}
4行目の id={$d->id} というのは何を意味しているのでしょうか。
申し訳ありませんがよろしくお願いします。
0504nobodyさん
02/12/19 17:29ID:lzLv+VhC$d->idというのは,$dというオブジェクトのidという変数のこと。
中身は
select id from TW_click where url='$j' order by id desc limit 1
の結果。
0505nobodyさん
02/12/19 18:25ID:???> >>502
> $d->idというのは,$dというオブジェクトのidという変数のこと。
オブジェクトと言うより、インスタンスだよね
0506nobodyさん
02/12/19 22:40ID:6CY601Q7|名前 |持ち物 |
+-----+-------+
|A |りんご |
| |バナナ |
+-----+-------+
|B |みかん |
+-----+-------+
こういうのはどうやったらできるのでしょうか?
0508nobodyさん
02/12/19 23:41ID:???+-----+-------+
|名前 |持ち物 |
+-----+-------+
|A |りんご |
| |バナナ |
+-----+-------+
|B |みかん |
+-----+-------+
mona;
0510kodokuman
02/12/20 15:22ID:???↑上のソースはサーバーに載せてもエラーはでないのですが・・・
メール配信の方がされません!僕のは何が間違えてるかわからないんですけど、誰かわかりますか?
0511nobodyさん
02/12/20 16:55ID:???メールログ見れるなら、それ見れば即解決。
0512502
02/12/20 21:30ID:???ありがとうございます。
なんとなくわかったようなわからないような、ですが…。
そもそもオブジェクトの意味すら掴みかねている状態ですのでもう少し勉強してみます。
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=%A5%AA%A5%D6%A5%B8%A5%A7%A5%AF%A5%C8&sw=2
?(;´Д`)
ありがとうございました。
0514nobodyさん
02/12/24 21:38ID:Wt8tE8W2(2バイト目に"C5") で文字化けが起きるのはどうやったら回避できるん?
0515nobodyさん
02/12/24 21:52ID:ISz3CA8u0516nobodyさん
02/12/26 00:51ID:???プププ
オブジェクト指向理解していない奴がPHPに手をつけるなよw
WEBプログラミングはCGIでC言語使ってやってろw
0518nobodyさん
02/12/26 18:38ID:??????
0519nobodyさん
02/12/26 21:15ID:???OOPがらみでデザインパターンやってる人がいた。
http://www.pat.hi-ho.ne.jp/dimension/sample/sample_class_list.shtml
まだPHPでOOPする必要に迫られたことないけど、練習くらいはしといたほうがいいかもね。
PHP+MySQLだとDreamWeaverMXが気になるけど、使った人いる?
オレ?PostgreSQL使ってる...スマソ
0520nobodyさん
02/12/26 21:58ID:???それにこだわって書いてるとそれはそれで変なコードになっていく
どのみちセッションがブチ
ブチ切れ
るんだしあまり「オブジェクト」にこだわることもないかと。
セッション管理ってのは極力しなくていい作りにしたいしするべきだと思ってる。
Webページってのは、管理者の思いもよらぬところをブック
マークされるという危険を伴う諸刃の
0521nobodyさん
02/12/27 00:00ID:???magic quoteを有効にしてれば、フォームデータを
そのままSQLで流しても大丈夫ですか?
それともまだ穴がありますか?
0522nobodyさん
02/12/27 09:30ID:???'' の中にデータを展開する分には大丈夫だろうけど、
'' の外だと magic quote は、あまり役に立たないと
思うよ。
正直、magic_quotes_gpc は off にしておいた方が
一貫して入力を扱えて楽じゃないですか?
0523nobodyさん
02/12/27 20:09ID:eZog1k3V機能的にはごくシンプルなものです。
一人50件くらいのログを記憶させるような。
こういう場合、皆様ならどうしますか?
俺は一人1ROWにしてtextに全ログを連結して保存しておこうかと
思ってるんですが、どうせDB使うならもっといい方法あるかな、とも
思うし。
どうでしょう?
0524nobodyさん
02/12/27 20:26ID:MTFRpGP1みんなココにきてくれー。
0525nobodyさん
02/12/27 20:56ID:2gbLeXIiそれじゃー、RDBMSやSQLの恩恵がまったく受けられないよ。
ある月のレスだけ取得したい場合どうする?
あるホストからの荒らしレスだけ削除フラグつけたい場合どうする?
逆に、1ROWならCSVでいいのでは?
0526nobodyさん
02/12/28 01:16ID:4WWvmFEHそっかー
1書き込み1行にしてsqlで並び替えればいいんだね。
どうもsqlの発行を少なくしようとしてしまう癖がある。
でもphpで処理するよりMySQLでやる方が軽くて速いんだろうね。
0527nobodyさん
02/12/29 22:03ID:OOvrby/y0528nobodyさん
02/12/30 09:07ID:???ワンタイムで書き込みたいなら、date( "Y-m-d H:i:s" );を持たせた変数でupdateすればおーけー
0529nobodyさん
02/12/30 13:40ID:HKQQDiUV0530nobodyさん
02/12/30 17:51ID:???↑ここと同じようなゲームを作ってんだけど、こんなにテーブル用意する必要あるん?
俺は1個にまとめてるんだけど。
0531nobodyさん
02/12/30 18:10ID:h3/FqmXB必要ある
0533nobodyさん
02/12/31 11:25ID:???csv形式で保存でいいジャン。
0534nobodyさん
03/01/01 00:00ID:???〃┏━━ 、
パタパタ | ノノソハ))) / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(((\リリ ´ー` リ < あけましておめでとう♪
((ニE/⌒ヾ∞"ヽ \____________
(こ) ∞ |こ)
く__∞,ノ
し' し'
0535nobodyさん
03/01/01 18:33ID:???とあるけど、これって「LIKE」を使っているときということでいい?
これ以外のケースってありますか?
0536まにゅある見ないでモノを言う
03/01/04 05:54ID:kDPU8tAMSQL文中に正規表現つかえなかったっけ、MySQLって。
0537???
03/01/05 17:09ID:2x+u7AZu「テーブルにテキストファイルの追加」から行っても、
The used command is not allowed with this MySQL version
とういうエラーが出て、上手くできません(T_T)
どなたか詳しい方、教えて下さい
0538nobodyさん
03/01/05 19:37ID:UGhIjm9v'load_data_infile'=1(有効)
'load_data_infile'=0(無効)
らしいのでmy.cnfで1(有効)になっているか確認してみては?
0540nobodyさん
03/01/06 21:50ID:???mysql_query("BEGIN") or die("Query failed");
mysql_query(SQL文) or die("Query failed");
mysql_query(SQL文) or die("Query failed");
mysql_query(SQL文) or die("Query failed");
mysql_query("COMMIT") or die("Query failed");
って感じでうまく機能しますか?
もっとスマートな方法があればご指摘いただきたいのですが・・・
0541nobodyさん
03/01/06 22:11ID:9dVyKXX8きっちりmysql_close()した方がマシンの負荷は低くなる?あんまり変わらない?
0543533
03/01/07 01:31ID:iRkA6Fwmえーと、>>539自体ちょっと意味がわからんが
ビールはジョッキで飲む方が紙コップで飲むより
うまく感じるってこと?
つまり、SQL使うメリットもなんとなく良さそうに見えるから?
それだけ?
0544nobodyさん
03/01/07 01:59ID:28f9Hhaj>>539はたしかにわかりにくいな。
全自動洗濯機使うメリットってあるのですか?
二層式とかせんたく板でいいじゃん。
これでどうよ。
0545nobodyさん
03/01/07 02:30ID:???洗濯板は目視で汚れを確認できる
とか?
0546nobodyさん
03/01/07 02:31ID:???0547nobodyさん
03/01/07 02:32ID:???0548539
03/01/07 18:31ID:???全自動洗濯機使うメリットってあるのですか?
水で洗えばいいじゃん。
こんな具合にズレとる。
0549nobodyさん
03/01/07 19:07ID:JKnGPZVy検索のスピードは、MYSQLと同じくらいですか。
0550nobodyさん
03/01/07 19:37ID:E9xJzpX+0551nobodyさん
03/01/07 21:08ID:28f9Hhajデータ量はかなり少なくなると思われ。
あと、CSVって
100万件のデータがあって
目的の1件を探したかったら
ファイル読み込んでループでまわすの?
もしそうだとしたら
データベースのインデックスのほうが早そう。
明確な知識がなくてスマソ
0552nobodyさん
03/01/07 21:42ID:???0555nobodyさん
03/01/08 03:27ID:hAY0g5Se0556nobodyさん
03/01/10 22:39ID:1fouTyOy九位九ソート 挿入
0559nobodyさん
03/01/11 05:55ID:???0560!!
03/01/11 16:34ID:gISEgncJphpMyAdminはエキスポートしかできないんでしょうか?
0561nobodyさん
03/01/11 17:00ID:JDeX+B7u「--fields-terminated-by」オプションに「,」を指定します。
カラム順にデータが記録されています。
例:カンマで区切ったデータを取り込む
$ mysqlimport --fields-terminated-by=,
--fields-optionally-enclosed-by=\" データベース名 ファイル名
0563!!
03/01/11 17:29ID:gISEgncJ「テーブルに...」で実行してみたら
エラー
実行されたSQLクエリー :
LOAD DATA LOCAL INFILE 'C:\\PHP\\uploadtemp\\php4A.tmp' INTO TABLE `test` FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'
MySQLのメッセージ -->
The used command is not allowed with this MySQL version
って出力されてしまいました。因みにベクターで探してきた「かねやん」を
使ってインポートすると正常にインポートできてしまいます。
どこが悪いのだろう...
因みに各バージョンは昨日すべて落としてきた版です
0564nobodyさん
03/01/12 01:09ID:CRDOZqUghttp://pc.2ch.net/test/read.cgi/php/1011683282/56-59
0565!!
03/01/12 16:11ID:JMlfr701my.iniやmy.confにlocal-infile=1のオプションを付加しても駄目でした。
やり方が悪い?(当方windows)
しかし、3.23.49からこのような仕様になっていると言うことがわかり、
本屋で無理矢理3.23.36が収録されている本を買ってきて実行すると
何事もないようにうまくいきました。
当面の作業がうまくいきそうです。
落ち着いたらまたチャレンジしてみます。
0566nobodyさん
03/01/12 16:24ID:HvHiIRir★私とチャットしませんか?★
0568nobodyさん
03/01/14 15:23ID:gMRBp+il100000000(1億)のレコードから
目的の1件のレコードをとってくるのと
10000のレコードをもつ10000テーブルのなかから
目的の1件のレコードをとってくるのとでは
どちらが早いですか?
実験したかったのですが1億のレコード挿入で
断念しました。。。
(10万,100万の時点でおそろしく時間がかかったため)
0569nobodyさん
03/01/14 19:12ID:???もう考えるまでも無く圧倒的な勢いを持って後者
インデックス次第では前者≒後者になりそうだけど
処理量はどうしようもなく必然的に大胆に前者≧後者
0570568
03/01/14 20:36ID:gMRBp+il設計的にはかなり冗長ですが(同じ構造のテーブルが多数)
やはり後者のテーブル設計を取ろうと思います。
不安だったのは、
前者
SELECT name FROM tableall WHERE id=34561234;
後者
SELECT name FROM table3456 WHERE id=1234;
としたときの後者の場合、
データベースが10000のテーブルの中から
table3456をみつけるのに時間がかかってしまうのか
どうかがわからなかったことです。
テーブルのなかのレコードを探す能力は最適化されてても
データベース内のテーブルを探す能力については
どうなのかなと。。。心配性&スキル不足ですまんです。
0571nobodyさん
03/01/14 20:51ID:???つーか、後者の速さは(アプリ側乃至SQL文とかストアドの)ロジック次第なのでは?
>>568
つーか、圧縮するロジックを考えるのが筋だと思うよ。
# 今のままだと、1個の物理ディスクに入らないかも知らん。
# そうであれば、バスの速度などにも禿げしく依存。
ただし、再発明しないようにね。
0572nobodyさん
03/01/15 06:59ID:???ひょっとして恐ろしくデカイのでは?
0573nobodyさん
03/01/15 12:50ID:a4fZ6czkselect * from mytable;
のように全部取得したいのですが、全部だと多すぎるので、20行ずつ取得したいのです。
つまり、掲示板などでの、前20件、次20件などのようにしたいのです。
どういう命令がありますか?
0574nobodyさん
03/01/15 13:22ID:i2Ml65czselect * from mytable LIMIT 0,19;
select * from mytable LIMIT 20,39;
0575nobodyさん
03/01/15 13:23ID:???わかりました。
0576山崎渉
03/01/15 13:31ID:???0577nobodyさん
03/01/17 23:11ID:???WIN98
Apache 1.3.27 (Win32)
PHP 4.3.0
MySQL 3.23.53
でPHPからデータベースをいぢった後に、
MySQLを終了すると2〜3分HDDが
ガリガリやってるんだけど・・・
同じような環境の人も終了に時間かかってる?
0578単位も書けない奴に粘着するテープ ◆5UoUCNAQvA
03/01/17 23:12ID:???0580nobodyさん
03/01/20 14:11ID:P5+e48AcブラウザからPHPを使ってアクセスするとできないのは何故?
PHPは正常にインストールされています。phpinfoで確認。
0581nobodyさん
03/01/20 14:13ID:P5+e48Acphpスクリプト自体は他のマシンでは正常に動作しています
0582nobodyさん
03/01/20 14:29ID:mQ4KhcQz0583nobodyさん
03/01/20 16:40ID:???0584nobodyさん
03/01/20 19:04ID:???車No, 部品No1, 部品No2, 部品No3, 部品No4, 部品No5, 部品No6
--------------------------------------------------------
車1, 部品1, 部品2, 部品3
車2, 部品1, 部品2, 部品4, 部品5
車3, 部品2, 部品3, 部品6, 部品7, 部品8, 部品9
のような、空データがあるデータベースは作れるのでしょうか。
また後から部品No7という項目を継ぎ足したい場合、
もう一度表を作り直さなければならないのでしょうか。
0585nobodyさん
03/01/20 20:38ID:???車No, 車名
1 かろーら
2 あるてっつあ
3 ぷりうす
部品No, 車No, 部品名
1 1 純正ナビ
2 1 スペアタイヤ
3 2 純正ナビ
4 2 スペアタイヤ
5 3 純正ナビ
6 3 スペアタイヤ
正規化すれば部品は増やし放題。
0586580
03/01/21 15:32ID:GpjCCUGlWarning: Supplied argument is not a valid MySQL result resource in
c:\ddd\sample.php on line XX
このようなエラーがでます。
0587nobodyさん
03/01/21 16:08ID:RteUDGxD例えばテーブルAをテーブルB,Cと結合する際、
上の例はOKなのに、下の例は
ERROR 1054: Unknown column 'B.f2' in 'on clause'となってしまうのです。
select f1_name , f2_name from A
left join B on A.f1 = B.f1
left join C on A.f2 = C.f2;
select f1_name , f2_name from A
left join B using (f1)
left join C using (f2);
0588nobodyさん
03/01/22 00:39ID:skWjKRLA開始年を選んで下さい。
<select name="year_s">
<option value="1994">1994</option>
<option value="1995">1995</option>
で選択した値が、$year_sに入らないのですが・・・
しかし、同じファイルで動作するマシンもあるので困っています。
(何故か $year_sに正常に入っている)
0589nobodyさん
03/01/22 00:51ID:8E8iZdEeそれぞれのマシンに入っているPHPのバージョンが違う。
0591588
03/01/22 01:35ID:skWjKRLAPHPの動作は確認していましたが....
助かりました。
0592nobodyさん
03/01/22 18:23ID:4bAfvvWrcreate table test (references INT);
とやると必ず文法ミスと言われるのですがなぜでしょうか?
create table test (reference INT);
create table test (referencesa INT);
もとおるのに、referencesだけだめだといわれます。
referencesという予約語があるというわけでもなさそうなのですが。
誰か教えてください。
0593hmk
03/01/22 18:40ID:skROudWD予約語だからつかえないんだらうが!
現時点で実装されていなくとも、将来的に機能が追加されることを見越して、予約語にすることはよくあることです。
0595nobodyさん
03/01/23 12:44ID:???0596nobodyさん
03/01/23 22:54ID:???読み書きのクエリーが衝突すると正しく読めない、なんてことはあるんでしょうか?
| 1 | 2 | 3 | 4 | をSELECTしようとしたとき、別のクエリーが
| 5 | 6 | 7 | 8 | とUPDATEしようとしたせいで、SELECTの結果が
| 1 | 2 | 7 | 8 | になった、みたいな。
0597名無シネマさん
03/01/24 00:26ID:vSlgsqBv0599nobodyさん
03/01/24 10:13ID:???MySQLは、読み書きのクエリーが衝突しても、そういう結果にはならない。
そもそも「MySQLはデータがこわれるこわれると評判」って、何処の評判よ?
0600nobodyさん
03/01/24 12:21ID:???mySQLはリレーショナルデータベースだという幻想を持ったまま
操作してるんだろうな。
0601nobodyさん
03/01/24 16:25ID:nJxMRNdQ内部的には同じように処理されるような気がするんですが、
どうなんでしょう?
だったら面倒くさいからほとんどtextでいいのでは?と思うんですが。
0602vvv
03/01/24 16:37ID:8KdGKoGc★こんなサイト見つけました★
0603nobodyさん
03/01/24 16:41ID:3x1kxIvh0604nobodyさん
03/01/24 17:57ID:60c9RQvzIndexが持てない
デフォルト値を持てない
ORDER BY やGROUP BY で並び替えるときSubstringなんかを使って
固定長に直す必要があったりします
0606nobodyさん
03/01/26 22:33ID:oI7yQ6PH無い。みんなどこの使ってるの?おすすめのところあったら教えて。
テスト稼動なのでサブドメイン、共有鯖
でも勿論OK。月1000円くらいまで。
0608nobodyさん
03/01/27 00:07ID:???板違いだが、マジレス。
1000円以内で考えるなら、それなりに自分の英語力を使うこと。
無料でもよいなら、xreaをキーワードに色々調べてみな。
あとは適切な板に逝ってくれ。
0609nobodyさん
03/01/27 17:21ID:Pf9TSSSiMySQLってリレーショナルデータベースじゃないんですか? 知らなかった・・・。
Oracleしか使ったことないから同じような感覚でやってたら何か痛い目にあいますか?
0610nobodyさん
03/01/27 17:49ID:???0611nobodyさん
03/01/27 18:18ID:???0612nobodyさん
03/01/27 18:20ID:???てかOracleのwhereの後ろは反則だよな(w
0613nobodyさん
03/01/27 18:34ID:???oracleでは使えていたのに。
0614nobodyさん
03/01/27 20:58ID:???http://www.mysql.com/press/release_2003_05.html
0616jeek
03/01/30 03:02ID:WNym3cfzこの携帯ショッピングサイト、php で書かれているんですけど
非常に便利に使えます。
これは既存のスクリプトなのでしょうか、どなたかご存知です?
それとも、オリジナルかなぁ。
0617nobodyさん
03/01/30 05:50ID:p/wgMSmR以下の条件を満たすSELECT文を書きたいのですが、考えつきません。
1.現在から1ヶ月以内の更新情報を2つまで表示する。
2.ただし、1ヶ月以内に更新がなければ、さかのぼって最新の1つだけ表示する。
1.の条件までは書けるのですが、2.をどう書けばよいのか、どうか教えてください。
select * from table where hizuke > now() - interval 1 month limit 2;
ちなみに、テーブルは次のような構成です。
ID, 日付, 新着種別, ページタイトル, URL, 詳細, 表示の可否
0618nobodyさん
03/01/30 06:56ID:YNBbhRPJ★こんなサイト見つけました★
0619gn355my0
03/01/30 11:09ID:???一つのSQLで↑にぴったりマッチは難しいんじゃない?
それより最初から三件分取得しておいてアプリで制御した方が
早いと思う。
0620nobodyさん
03/01/30 13:45ID:???1のSQLを発行して、取得できなかった場合(レコードが無い場合)は
最新の1件だけを取ってくるようなSQLを発行する、というので
いいんじゃないの?
0621nobodyさん
03/01/30 18:11ID:0RBKBbdXWin2K+Apache1.3+PHP4+MySQLという組み合わせで使用しようとしているのですが、
WinMySQLadminでDatabasesを見ると
コンピュータ名
|-database1
|-database2
となっていますよね。
このdatabase1とかの部分を増やす(?)にはどうすれば良いのでしょうか?
今は手作業でディレクトリを作成していますが、これをPHPでやりたくて…。
解説サイトを見てもこのdatabase1や2は既に存在しているのが前提の話ばかりで。
もう一つ、それとは別の質問なのですが、
MySQLのアカウント(?)を増やすにはどうすれば良いのでしょうか?
今は一組のuserとpassしか作っていませんが、これを増やしたいのです。
0622nobodyさん
03/01/30 18:39ID:???<script language="php">
$link = mysql_connect("localhost", "user", "passward")
or die("Could not connect");
mysql_select_db("test") or die("Could not select database");
$query = "CREATE TABLE my_table (id INT, name CHAR(20))";
$result = mysql_query($query) or die("Query failed");
</script>
こんなんで、tableは作れる
SQLの本買ってきなはれ
0624nobodyさん
03/01/30 18:42ID:???rpm -qpl MySQL-3.23.55-1.i386.rpmで見てみるとmysqladmin無いみたいなんだけど…
このパッケージだけじゃ駄目なんだっけ?
0625nobodyさん
03/01/30 21:28ID:???データベースはコンソール(ドス窓)から手動で作らにゃならん。
って、本当は知ってるんでしょ?
アカウントも然り。だけんがこれに関してはいろんなツールでできる。
0626617
03/01/30 21:48ID:???select * from table where hizuke > now() - interval 1 month or id = last_insert_id() limit 2;
0627nobodyさん
03/01/30 22:26ID:???ありがとうございます。
>>625
いえ全く知りませんでした。
と言う事はいわゆるレンタルスペースで複数作ってもらう場合は、
そこの管理人に頼まないとダメなのですか?
#>>622のような方法もあるようですが。
0628nobodyさん
03/01/30 22:28ID:???アカウントではなくてデータベースの方です。
0629の
03/01/31 02:41ID:Nn5kYoP6CREATE DATABASE hogehoge
のクエリで作れるけど、管理できなくなるから、
レンタルスペースで権限は与えんでしょ。
0630nobodyさん
03/01/31 03:01ID:???アカウント
|-Forum
|-Chat1
|-Chat2
とかいう風にしたいのですが、無理なのかなー…。
0631nobodyさん
03/01/31 09:35ID:???てか、あなたが telnet とか ssh とか
tcsh とか bash を使えるようになってから。
タバコはハタチになってから。
話はそれからだ。
0632nobodyさん
03/01/31 11:07ID:???まー訳わからんなら弄ってみるが吉。
そうすりゃちったぁ何か収穫があるでせう。
がんばりーや。
0633nobodyさん
03/01/31 11:15ID:???かねやんMySQLAdmin
ttp://www.mmdb.net/m_kaneko/
phpMyAdmin
ttp://www.trustbee.com/phpMyAdmin-jp/
なんかを使ってミソ。
まー訳わからんならとりあえず弄ってみるが吉。
そうすりゃちったぁ何か収穫があるでせう。
がんばりーや。
0635617
03/01/31 14:05ID:???これって、insertしたセッションの最中じゃないとダメなのですね。
0636nobodyさん
03/02/02 00:57ID:2yDn27Vrブラウザ上で、MySQLを管理できるアプリの作成を考えています。
管理といっても、
@MySQLのユーザー、パスワードを受付て、DBに接続。
Ashow databasesの結果を一覧表示。
かつ、databaseの新規作成や、削除、選択が可能。
BAで選択したdbでのshow tablesの結果を一覧で表示。
かつ、tableの新規作成や、削除、選択が可能。
Cselect * from 「Bで選択したtable」の結果を一覧で表示。
かつ、データの作成や、削除、更新が可能。
という程度のものを考えているのですが、
上記Aのshow databasesの結果を取得する関数がわからず、つまづいています。
PHPマニュアルのMySQLサーバー関数のところを見たのですが、
それらしきものが見当たりませんでした。ご存知の方、お教えください。
0637nobodyさん
03/02/02 01:19ID:gRrRgtZTphpMyAdminはいれてる?参考になると思う。
(というか仕様が似すぎてて作るのやめるかもねw)
show databasesの結果取得はわからん。
できないからphpMyAdminも実装してないのかもね。
0638nobodyさん
03/02/02 01:32ID:2yDn27VrphpMyAdminの存在すら知りませんでした。
早速、DLして参考にしたいと思います。
ありがとうございました。
0639nobodyさん
03/02/02 02:46ID:GvAm8HhImysqldumpをかけることはできないのでしょうか。
0640の
03/02/02 17:22ID:eQAjYeC3できるよ。フツーに system で呼び出せば OK。
--
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0641nobodyさん
03/02/02 17:25ID:???ysite.ddo.jp/modules/news/http://mysite.ddo.jp/modules/news/http://mysite.ddo.jp/module
s/news/http://mysite.ddo.jp/modules/news/http://mysite.ddo.jp/modules/news/http://mys
ite.ddo.jp/modules/news/http://mysite.ddo.jp/modules/news/http://mysite.ddo.jp/modules/
news/http://mysite.ddo.jp/modules/news/http://mysite.ddo.jp/modules/news/http://mysite
.ddo.jp/modules/news/http://mysite.ddo.jp/modules/news/http://mysite.ddo.jp/modules/ne
ws/
0642nobodyさん
03/02/02 20:22ID:???-----------------------------
Mob1 | hoge1, hoge2, hoge3
Mob2 | hoge1, hoge3
と、
Monster | Item1 | Item2 | Item3
-------------------------------
Mob1 | hoge1 | hoge2 | hoge3
Mob2 | hoge1 | hoge3 |
ってどちらの形式の方が良さそうですか?
Item の部分は増えたり減ったりして書き直しを頻繁にするので前者の方が楽なのかな?
後者だと上の例でいえば Mob3 が hoge1〜hoge4 まで持っていた場合、
Item4 を追加しなくてはならないので何というか横に長くなりそうだなあとか…。
0643gn355my0
03/02/02 21:08ID:???ネタかな?
普通は
Monster | Item
-----------------------------
Mob1 | hoge1
Mob1 | hoge2
Mob1 | hoge3
Mob2 | hoge1
Mob2 | hoge3
だと思う。
完成したら公開よろしくね!
0644639
03/02/03 00:13ID:4TYvio9L$q = 'mysqldump --password=PASS -u USER DB > DB.sql';
system($q);
上記をPHPで実行してもバックアップが成功しませんでした。
まったく同じコマンド($q)をTELNETで実行すればうまくいくのですが…。
0645nobodyさん
03/02/03 02:02ID:???>>642とは別人だけど、色々なデータを纏めたい時ってどうするの?
Monster | Item | Gold | EXP
とかいう風に分かれているとき、
Itemのために何行も書くとGoldやEXPのところが重複しない?
似たようなことやろうと思ってるんだけど、DBは初めてなのでそのあたりの事がさっぱり…。
0646nobodyさん
03/02/03 02:02ID:jEwc5dws検証してないので適当に答えてみるテスト。
$q = 'mysqldump --password=PASS -u USER DB > DB.sql';
system($q);
↓
$q = '/usr/local/mysql/bin/mysqldump --password=PASS -u USER DB > /home/2channeler/DB.sql';
system($q);
0647nobodyさん
03/02/03 02:07ID:jEwc5dwsそこらへんは 1対1 か 1対多 か 多対多 で変わってくる。
MonsterNo | Monster | Gold | EXP
1 スライム 2 1
2 ドラキー 4 3
MonsterNo | ItemNo
1 1
2 1
2 2
2 3
ItemNo | Item
1 やくそう
2 かわのふく
3 ロトのつるぎ
0648nobodyさん
03/02/03 02:10ID:???MonsterNo | Monster | Gold | EXP
1 スライム 2 1
2 ドラキー 4 3
MonsterNo | ItemNo
1 1
2 1
2 2
2 3
ItemNo | Item
1 やくそう
2 かわのふく
3 ロトのつるぎ
0649かわのふく→ぬののふく?
03/02/03 02:15ID:???0650nobodyさん
03/02/03 02:25ID:???0651639
03/02/03 07:06ID:4TYvio9L$q = '/usr/local/bin/mysqldump --password=PASS -u USER DB > /home/USER/DB.sql';
system($q);
なお、TELNETで以下のようなパスを得ました。
% which mysqldump
/usr/local/bin/mysqldump
レンタルサーバー会社によれば、ユーザーディレクトリは以下です。
/home/USER/
0652nobodyさん
03/02/04 02:21ID:zZmUIE3R0653nobodyさん
03/02/04 17:15ID:jR3/RqTl一部の文字が条件と一致していないのに出てしまいます。
これってどういうことなんでしょうか?
0654nobodyさん
03/02/04 18:02ID:???php.iniで指定してる文字コードとMySQLで使ってる文字コードと
一部の文字と条件を調べてみんしゃい。
0655639
03/02/04 19:45ID:A1NhCJKbすみません、レンタルサーバー会社にも問い合わせてみます。
>653
わたしも同様の現象を体験しています。
>654のいうとおりで、特に文字数が少ない場合、
文字コードが一致する偶然が起きやすくなります。
わたしはそれほど気にならないのであきらめていますが、
いい対処法はあるのでしょうか。
0656nobodyさん
03/02/05 09:07ID:???1.文字コードはEUCを使う。
/etc/my.cnf の中に
[mysqld]
default-character-set=ujis
2.バイナリ比較する
WHERE BINARY name = 'あ'
0657nobodyさん
03/02/05 16:51ID:lVHnu0B4携帯でも検索かけて表示できるページにしたいのです。
SJISでは無理なのでしょうか?
PHPで直そうと思ったのですが、上手くいかないので
0658639
03/02/05 18:43ID:rzvQR9Wx$moji = mb_convert_encoding($moji,'SJIS','auto');
0659nobodyさん
03/02/05 20:56ID:???お使いのバージョンでは分かりませんけど。
0660nobodyさん
03/02/05 21:19ID:iZbItlvM[mysqld]
default-character-set=sjis
[mysqld]
default-character-set=sjis
0661nobodyさん
03/02/05 21:38ID:???mysql_fetch_array(): supplied argument is not a valid MySQL result resource in pagename on line xx
どうすればなおりますか?
0662nobodyさん
03/02/05 22:03ID:???ってゆってはります。
きちんとMySQLにコネクトできてないのに結果をせっかちに要求したか
ぜんぜん関係ない変数を渡してはりませんか?
0663nobodyさん
03/02/05 22:23ID:???ゲームやっている人ならわかると思いますが、下の例は経験値表です。
このような表で、BaseEXPはLv51以上も数値があるがJobEXPは50までしかない場合、
BaseEXPとJobEXPでテーブルを分けるか、空いた部分は全てNULLをいれて置くか、
設計(というほど大したものではないけど…)としてはどちらの方が良いでしょうか?
Lv | BaseEXP | JobEXP
-----------------------
2 | 1 | 1
3 | 4 | 2
...
51| 555 | NULL
0666gn355my0
03/02/06 00:20ID:???何に使うのか問い詰めてもいい?
0667nobodyさん
03/02/06 01:19ID:???>>666
とあるゲームのデータベースでも作ってみようかなーと。
丁度DBに興味湧いてきたところなので、勉強がてらに。
で先に書いたようなテーブル作っている時にふとこういうやり方ってどうなのかな?と疑問に思ったわけなのです。
0668gn355my0
03/02/06 02:01ID:???いや、それはわかる。ただいま巻き戻り中のやつやろ?
じゃなくてそれを何に使うのかなと思って。
ほぼ100%参照だけだし、データ量もそれほどないし。
まぁ勉強がてらということだし口を出すこっちゃないやね。
0669nobodyさん
03/02/06 03:44ID:???勉強というか学習と言うか、ちょっとやってみたいなーとかいう風に考えてるだけなのであまり深いツッコミは何とも。
それにまあ、利便性とか実用性とかではなくて、
DB使ってデータ管理するのも面白そうだなーとかそういう単純なノリも多分にあったりします。
言い方は悪いかもしれませんがオモチャ扱っているような感じ。
#どうせローカルだし
そちらの言うとおりデータは殆ど参照しかしないから、
データを読むと言う事だけを考えれば実用性だけならHTMLを使ってテーブルやリスト使っても十分だし、
PerlとかPHPとかはたまたJavaScriptで計算機組むにしても、
例えばCSV形式のファイルでも一つ用意すればそれはそれで良いと言うのは承知しているつもりです。
まあ、そういうわけなのです。
0670gn355my0
03/02/06 09:17ID:???あ、ごめんごめん。責めたりしたわけではないです。
問い詰めるという2ちゃん的表現がよくなかったかな。
単に何か面白いことやってくれるのかなー
便利そうなんだったら漏れも使わせてもらおうかなー
と思っただけっす。オモチャ上等だと思いますよ。
というわけでスレ汚しスマソ
0671nobodyさん
03/02/06 11:49ID:???ところで、PHP質問スレッドの7は?
0672nobodyさん
03/02/06 17:00ID:K8RgyZcefield01〜03が'猿'を含むレコードを選択
select * from Sample where field01 || field02 || file03 ~ '猿'
でできますが、
MySQLで同じ事をするにはどうすればいいのでつか?
0673nobodyさん
03/02/06 19:39ID:kbkaq7Bp今新たにデータを挿入したいとして、そこに振られる主キーを取得する
いい方法はあるでしょうか?
0676nobodyさん
03/02/07 23:21ID:???って何のエラー?
rootでやってるんだけどデータベース作れない…。
0677nobodyさん
03/02/07 23:21ID:qy2BS4yt0678676
03/02/07 23:25ID:???0679daad
03/02/07 23:53ID:???0680nobodyさん
03/02/08 16:39ID:7Sg+8jhN.
.
$sql = "SELECT * FROM test_tbl ORDER BY id DESC";
$res = mysql_query($sql, $conn) or die("データ抽出エラー");
while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) {
echo "<tr>";
echo "<td><font size=-1>".$row["g_id"]."</font></td>";
echo "<td><font size=-1>".$row["g_goods"]."</font></td>";
echo "</tr>";
}
.
.
.
でやってしまうと、DBに登録された順序で表示されてしまいます。
表示する前にMyspl抽出したデータ"g_id"を昇順 or 降順でソートしてやりたいのですが...
sort rsort ksort krsortは配列のみに有効でしょうか? このケースでも有効ならどのようにソートしてやればよいでしょうか?
もしくはMysplの関数でソートできるものがありますか?
ご教示願います。
Win2000 PHP 4.2.2 Mysql3.23.51
0681nobodyさん
03/02/08 16:42ID:CaCRikEOhttp://homepage3.nifty.com/digikei/
全部無料だよ
0684nobodyさん
03/02/09 21:29ID:JGZZ388l0686nobodyさん
03/02/10 19:54ID:???0688nobodyさん
03/02/10 21:56ID:???0690nobodyさん
03/02/11 02:01ID:???/ /
./ / i
| ( ゚Д゚) <・・・・・・・・・
|(ノi |)
| i i
\_ヽ_,ゝ
U" U
0691nobodyさん
03/02/11 02:09ID:???0692nobodyさん
03/02/12 12:16ID:???スローモーションで走ってた世代
0693nobodyさん
03/02/12 15:04ID:???0694nobodyさん
03/02/12 15:40ID:???0695nobodyさん
03/02/12 22:59ID:???0696nobodyさん
03/02/13 00:00ID:ZKwcH9W1表を5個くらい並べてSELECTかけるとかは問題ないでしょうか?
0697nobodyさん
03/02/13 00:46ID:???SELECTだけなら問題おきない。
モナーの口座 ギコ猫の口座
100000→ギコ猫に 100000
20000振込み
残額80000にUPDATE
ギコ猫の口座の
残額を120000に増やす
UPDATEしたらネットワークに障害!
結果
残額80000 残額100000
0699nobodyさん
03/02/16 20:51ID:Ldn1JJQS同じように並び替える方法はありませんか?
0700nobodyさん
03/02/18 23:02ID:???0704nobodyさん
03/02/21 21:09ID:Opy86l2aMySQLでもトランザクションは使えますよ。
0705nobodyさん
03/02/21 21:38ID:???0706nobodyさん
03/02/23 02:32ID:KM+rMdK50707nobodyさん
03/02/23 02:34ID:???http://www.geocities.co.jp/Playtown-Domino/8380/
こんな貧弱なコンテンツで
1年でどれほどのアクセスがあるのか。
どうか皆さん、協力してください。
また、これをコピーしてそこらへんに張り付けまくってください。
0709nobody
03/02/25 10:44ID:???簡単なDLカウンタ書けました。
動いた時は感動しました!
今日から掲示板をDB化しながら
更にDBの勉強をしていきます!
0710nobodyさん
03/02/26 09:01ID:???0711bloom
03/02/26 09:05ID:LK+WeUiO0712nobodyさん
03/02/26 11:04ID:???かん゛はれ〜
0713nobody
03/03/02 18:05ID:???例えば↓のテーブルがあって
+---+--+-----+
|uid|no|title|
+---+--+-----+
| 1| 1| 1-1|
| 1| 2| 1-2|
| 1| 3| 1-3|
| 2| 1| 2-1|
| 2| 2| 2-2|
+---+--+-----+
このテーブルからnoが最大値のuid別レコードを取るには?
望む結果↓
+---+--+-----+
|uid|no|title|
+---+--+-----+
| 1| 3| 1-3|
| 2| 2| 2-2|
+---+--+-----+
SELECT uid,MAX(no),title FROM テーブル名 GROUP BY uid;
ってやると↓のようになってしまいます。。。
+---+--+-----+
|uid|no|title|
+---+--+-----+
| 1| 3| 1-1|
| 2| 2| 2-1|
+---+--+-----+
titleはnoが最大値のが欲しいんですが、、、
なにかアドバイスを。。。
0714nobodyさん
03/03/02 19:09ID:???できなかったらごめん。サブクエリー使えれば一発なのになぁ
0715nobody
03/03/02 19:33ID:???ERROR 1054: Unknown column 'no' in 'having clause'
って出ました。
サブクエリー使えないとなると、
SELECT文1つでやるのは無理っぽいですかね。。。
0716nobodyさん
03/03/03 00:57ID:QgOKxjn5PHPとSQLが必要なデータベースを、サイトに設定しようと思っているのですが、
その際、ホスティング業者さんに確認又は依頼すべき点は、なにがあるでしょうか?
某Yahooで回答いただけなかったので、こちらで質問させていただきました。
板汚し、失礼致しました。
0717nobodyさん
03/03/03 01:39ID:???わかってるなら来ないでくださいよ・・・
0719ただいま仕事中
03/03/06 04:19ID:cPlNSv+NSELECT * FROM テーブル名 ORDER BY no DESC 0,1;
これで望む結果の一行目(no=3)がでるはず。でも、
>このテーブルからnoが最大値のuid別レコードを取るには?
>望む結果↓
>+---+--+-----+
>|uid|no|title|
>+---+--+-----+
>| 1| 3| 1-3|
>| 2| 2| 2-2|
>+---+--+-----+
これ見ると、noが最大値(no=3)ではない(no=2)が出力されてるけど、
no=2も必要なの?
0720ただいま仕事中
03/03/06 04:23ID:cPlNSv+NLIMITが抜けてました....ネムイ
0721713
03/03/06 09:24ID:???uid毎にnoが最大値のものが欲しかったものでして。。。
uidが1でnoが最大値のtitle、
uidが2でnoが最大値のtitle
| |
uidがxxでnoが最大値のtitle…以下uidの分だけ続く
まずuidがいくつあるか(同じuidを除いて)調べて、
それからuid毎に720さんのSELECTかまさないと
いけないみたいですね。
がんばろっ
0722ただいま仕事中
03/03/06 13:53ID:i/SuKWBsSELECT uid,MAX(no),title FROM テーブル名 GROUP BY uid ORDER BY uid
0724713
03/03/06 18:02ID:???no毎にtitleが違うんです(書いてませんでしたが(汗))
$sql = "SELECT DISTINCT uid FROM テーブル名";
$idrow = mysql_query($sql, $link);
while ($idres = mysql_fetch_array($idrow)) {
$sql = "SELECT * FROM テーブル名 WHERE uid=${idres['uid']} ORDER BY no DESC LIMIT 0,1";
$row = mysql_query($sql,$link);
$res = mysql_fetch_array($row);
echo $res['uid'] . $res['no'] . $res['title'] . "\n";
}
みたいな感じで解決しました。
アドバイス下さった方々ありがとーございましたー
0725nobodyさん
03/03/06 21:23ID:???板違いかもしれないけどMySQLって事で
http://japan.mysqlstudio.com/
0727725
03/03/06 21:57ID:???もしかしてインターフェースを日本語にしただけ?
0728nobodyさん
03/03/06 22:54ID:???/ /
./ / i
| ( ゚Д゚) <27歳ですか?27歳より年上ですか?年下ですか?
|(ノi |)
| i i
\_ヽ_,ゝ
U" U
0729地獄狂
03/03/09 16:33ID:???から移動してきました。
***
PHP+MySQLで2ch型の掲示板と作ろうと思っています。
最初、ひとつのテーブルに全てのスレの書き込みをまとめようかと思ったの
ですが、それでは遅くなるのではと思いました。
そこで、一つのテーブルに一つのスレの書き込みを格納して、
スレが新しくたつたびにテーブルを追加するという方法にしようかと思うの
ですが、これで問題ないでしょうか?
文章下手でもうしわけないのですが、おねがいします。
**
です。
0730地獄狂
03/03/09 16:47ID:PO+D9jd50732地獄狂
03/03/09 16:58ID:PO+D9jd5えっ??
どういう意味?
0733nobodyさん
03/03/09 16:59ID:???0734地獄狂
03/03/09 17:10ID:PO+D9jd5わけわからん
0735nobodyさん
03/03/09 20:40ID:???どれくらいのアクセスがある掲示板を想定しているか判らないけど、
普通は問題にならない。
おそらく、テーブルを分けた方が遅くなる。
0736nobodyさん
03/03/09 21:27ID:???0737nobodyさん
03/03/09 23:44ID:/LDM9G/p"Flushなんとか"ってもの4つくらいしかメニューに出ないんですが・・・
どうしたらよいですか?
0738nobodyさん
03/03/10 01:19ID:i0ycDkB/たとえば2ちゃんを例にあげると、もし自分だったら、
板ごとにスレテーブル1つとレステーブル1つを用意するかな。
加えて、軽さを維持するために「dat落ち」の処理をしないとね。
0739nobodyさん
03/03/10 02:08ID:Flp9oiBQ0740nobodyさん
03/03/10 03:29ID:YULSwnq/0741nobodyさん
03/03/10 11:31ID:???一定期間更新されていないスレは
スレテーブルとレステーブルから
過去スレテーブルと過去レステーブルに
移動する。もしくは2ちゃんと同じように
HTMLなど静的ファイル化してしまう。
0742nobodyさん
03/03/10 13:40ID:???だったらみんながそれ使えばもうハッピーじゃん。
0743地獄狂
03/03/10 16:25ID:???ありがとうございました。
MySQLはそんな処理をやっても大丈夫なくらい速いのですね。。。
これで安心してMySQLで構築できます。
0745nobodyさん
03/03/11 02:59ID:???だから、PEARのDB_DataObjectに期待するわけだが…
MySQL関数の素使いに比べると、やっぱりスピードが気になるわけで。
元より速度が欲しくてMySQLにしてるのだし。
0746山崎渉
03/03/13 17:04ID:???0747nobodyさん
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で、テーブルロックせずに同時アクセスがあった場合データが消滅することってあります??
0847nobodyさん
03/05/27 01:33ID:???漏れはロックなんて使ってないけど。
つかロックかけようとするとクエリーがエラーになる。
ユーザーにはINSERT,UPDATE,SELECT権限与えてるけど、
これじゃあアカンのかしら?
>>846
innodbなら行単位でのロックが自動でかかるんじゃないか?
Myisamは必要っぽいけど。
0848nobodyさん
03/05/27 01:53ID:PRpkR2kf(´―`)y━~~タバコとアダルトは二十歳になってから☆
http://homepage3.nifty.com/coco-nut/
0849nobodyさん
03/05/28 22:07ID:???0850nobodyさん
03/06/01 20:40ID:Xxw6SumHこの時間帯、
too many connection
が出まくることを発見しました。
mysql_connect();
mysql_select_db();
ソースのこのあたりです。
どうすれば解決できますか?
0851nobodyさん
03/06/01 23:30ID:???サーバを変える。空いてるところに
0852nobodyさん
03/06/02 02:50ID:VH23vLojレン鯖なので変えられません。
http://www.mysql.gr.jp/jpdoc/3.23.x/manual.ja_MySQL_Optimization.html#Server_parameters
ここを見ながらmax_connectionを設定しようと思うのですが、
まず説明の中のmysqldという実行ファイルがない。
mysqlで--helpしても
max_connectionは出てこないし。
いったいどうすれば…
0853852
03/06/02 03:18ID:???自分の環境では
safe_mysqld
がそれに当たっていて、一旦止めてから
safe_mysqld -O max_connections=500 &
としました。
mysqladmin variables
で確認したら設定できているよう。
これで解決できるのかどうかはまだ不明ですが。
0854nobodyさん
03/06/03 17:17ID:1aVIbVtl何も書いてなかったんでありがちな、
"無料"で共用サーバ使ってて文句たれてんのかと思ってた…わりぃ
MySQLもPHPも自分のコントロール下にあるなら、php.iniの
module settingの[MYSQL]の項にもコネクションに関する設定があるので
そちらも見直してみてください。最近のPHPのデフォルト設定だと制限無し
になってるのですが、それに制限が掛かっているかもしれません。
0855nobodyさん
03/06/03 17:49ID:1aVIbVtlデフォルト(あらためて指定しない場合)は100とかなり小さいので
全然設定を見直してないと直ぐに上限に達します。
起動パラメータとして直接指定しても構いませんし、
設定ファイルmy.cnfやmy.iniに記述しても構いません。
#私はcnfで1024を指定しています。
0856nobodyさん
03/06/03 17:56ID:???http://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Problems.html#Too_many_connections
0857nobodyさん
03/06/04 01:42ID:???これはなんかインストールしてなかったからでしょうか?
ちなみにLINUXのRPMバージョンのServerとClient programsとLibraries and header filesを入れてまつ
0858nobodyさん
03/06/04 02:00ID:+AMYXFHehttp://www1.free-city.net/home/s-rf9/page006.html
0859nobodyさん
03/06/04 04:21ID:???ClientのRPMに入ってるはずだけどねぇ。RPMはどこの?
取り合えずpathの影響かも知れんから、ダイレクトに叩いてみたら?
0860nobodyさん
03/06/05 00:31ID:???MySQL.comで入手した最新のRPM(4.0.13)でつ
それほど弄ってるわけではないので不思議でたまらないでつ
・・・ところでダイレクトに叩くとは?
mysql -u root -p DBname
を使わない方法でつか?
0861nobodyさん
03/06/05 02:12ID:???RPMをインストールした時に置かれることになっている場所を
直接指定して叩くということ。
MySQL ABのMySQL-client-4.0.13-0.i386.rpm拾ってきてみて、中身見てみたけどたけど
# rpm -qlp MySQL-client-4*.rpm
/usr/bin/msql2mysql
/usr/bin/mysql
/usr/bin/mysql_find_rows
/usr/bin/mysql_waitpid
/usr/bin/mysqlaccess
/usr/bin/mysqladmin
/usr/bin/mysqlbinlog
/usr/bin/mysqlcheck
/usr/bin/mysqldump
/usr/bin/mysqlimport
/usr/bin/mysqlshow
/usr/share/man/man1/mysql.1.gz
/usr/share/man/man1/mysqlaccess.1.gz
/usr/share/man/man1/mysqladmin.1.gz
/usr/share/man/man1/mysqldump.1.gz
/usr/share/man/man1/mysqlshow.1.gz
入ってるけど?
/usr/bin/mysqldump --helpと叩いて味噌。
その前に「rpm -qa | grep -i mysql」して、
MySQL-clientパッケージがちゃんと入ってるか見た方が良いかも
0862nobodyさん
03/06/05 20:06ID:???で、できますた!
なぜ動かなかったのだろう?
と、とりあえずこれからゆっくり原因を研究してまつ。
はやくタコ状態を脱出しないと・・・
とにかくめっちゃサンクスコでつ!!!
0863nobodyさん
03/06/06 13:23ID:9Sig5kBB4000くらいのレコードのソートって結構負荷かかります?
それでランキングの表示をしていたんですが、
そこの呼び出しが集中(1時間に1000くらい?)したら
マシンがほとんど無反応になる(pingは反応するがsshでも入れない)
んですが。
連鯖でメモリは64Mだっと思います。メモリが少なすぎるんですかね?
0864863
03/06/06 13:29ID:9Sig5kBBその後遺症の方がでかいです
0865nobodyさん
03/06/06 14:02ID:???テーブル構造と使ってるSQL書いてみ。
メモリは確かに少ないかもね。共有鯖かい?
0866863
03/06/06 21:40ID:9Sig5kBBcolumnsは
int(10) unsigned
varchar(20)
varchar(60)
varchar(8)
varchar(40)
varchar(200)
tinyint(4)
varchar(40)
text
text
varchar(40)
varchar(40)
tinyint(4)
int(10) unsigned
varchar(15)
varchar(15)
datetime
varchar(255)
で、
select counter from data_T order by counter desc
これをコマンドで打ち込むと11秒かかりました。
こんなものでしょうか?
DBの使うリソースが心配だったら、cronなんかで定期的にランキングを
ファイルに出力させて、そちらにアクセスさせる。
っていう方法で逃げるってダメ?
0868nobodyさん
03/06/07 00:46ID:???CPUが266MHZとかATAのHD一つしか付いてないとか・・・
0869nobodyさん
03/06/07 01:48ID:???0870nobodyさん
03/06/07 10:54ID:???これって、テーブル(最大512個)をそのままメモリにぶち込んでくれるってこと?
ハードディスクの負担が軽くなると嬉しいけど。
0871863
03/06/07 18:02ID:???それがベストですね。
そんなにリアルタイム性が要求される種類のランキングでもないので、
1日一回更新にします。
さっき解析みたら11秒かかるソート処理が1分に6回くらい呼ばれていました。
プロセスが別だと思うので単純に足し算はできないですが、
多い時にはそれがもっとあったはずなので…。
>>868
3年くらい前に借りた鯖なのでスペック的には結構しょぼいかもしれません。
266MHZはいくらなんでもないと思いますが…。
>>869
一番上のint unsignedがプライマリキーになっています。
0873nobodyさん
03/06/07 23:09ID:???もっとメモリをのせれ
0874873
03/06/07 23:14ID:???インデックスの効果も薄いような・・・
データ取得途中でメモリの空き容量がなくなって、
スワップ起きてるんじゃないかな?
0875nobodyさん
03/06/09 17:12ID:7gQlaCxUmysql_query()でselectした場合、
その時点ですべてのデータが送受信されるのでしょうか?
それともその時点ではポインタのような情報のみ送られて、
mysql_fetch_row()などした時だけ、その分のデータが送られるのでしょうか?
0876nobodyさん
03/06/10 23:45ID:???php_mysql.c,v 1.174.2.12読んだ感じでは、そのままコンパイルすると
PHPのmysql_query()関数でクエリ実行が成功したら、
MySQL APIのmysql_store_result()してるみたいなんで
PHP-MySQL間では結果セット全てを取ってきてますな。
"他鯖"っても同じサーバで動いてようと、
PHPから見りゃMySQLは"別"なんで自/他だろうが変わんないよ
0877nobodyさん
03/06/11 11:09ID:eWSXWUXfSELECT * FROM hogetable WHERE hoge='mona'
としても
SELECT * FROM hogetable WHERE hoge='mona '
としても同じ結果が帰ってくるのですが,
語尾のスペースもちゃんとみるようにするにはどうしたらよいですか?
0878_
03/06/11 11:16ID:???0879nobodyさん
03/06/11 13:09ID:???アドレス帳を作るときに、
電話番号というフィールドを作るのですが、
電話番号を複数持っている場合がありますよね。
こういうときはどういった処理をさせればいいのでしょうか。
単純に電話番号1、電話番号2、電話番号3・・・・
とフィールドをいくつか作るしかないのでしょうか。
0880nobodyさん
03/06/11 13:15ID:eWSXWUXfhttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=rdb+%E6%AD%A3%E8%A6%8F%E5%8C%96
0881nobodyさん
03/06/11 13:16ID:???0882nobodyさん
03/06/11 13:20ID:???別のテーブルと関連づけてどうのこうのっていう
使い方だけじゃないんですか?
0884nobodyさん
03/06/11 14:02ID:???http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=rdb+%E6%AD%A3%E8%A6%8F%E5%8C%96+%E5%9F%BA%E7%A4%8E&lr=
0885nobodyさん
03/06/11 14:16ID:???0886nobodyさん
03/06/11 14:21ID:???キーを同じくしてオブジェクトを複数作る感じですか。
0887nobodyさん
03/06/11 14:31ID:???http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%E6%80%A7%E5%99%A8%E5%8C%96&lr=
0888nobodyさん
03/06/12 01:26ID:???SQLの文字列型フィールドの扱いを考えたら判る。更にMySQLの場合VARCHAR型は
「後続の空白は値の格納時に取り除かれる(この空白の除去は ANSI SQL仕様とは違っています)」
という仕様があるので、バイナリ型(BLOB型やTEXT型)を使う形になる。
http://www.mysql.gr.jp/jpdoc/3.23.x/manual.ja_Reference.html#String_types
また、末尾の空白が入る可能性のある"特殊な"フィールドに対して
値の最後尾に必ず何らかの文字を1byte入れると決めておいて、
その1byteを入り/出しの際にハンドリングするようにプログラムを作る
という方法でもある程度はカバー可能かと思う。
0889nobodyさん
03/06/12 10:08ID:rhXQRsqYこれからySQL使おうとしてて、この間インストールしてパスワード設定までしたけど
パスワードを忘れてしまったので、もう一回設定しなおそうと思い、
アプリケーションの追加と削除で全部消してから、インストールしなおしたんだけど、
最初の起動の時って、ユーザー名とパスワード聞かれたのに、
今回は聞かれないんです・・・?
なぜ?アプリ削除しても、どっかに設定の履歴残っちゃってるのかなぁ・・・
検索かけてみたけど、それらしいファイル等は見つからず。。。
でも、パスワードわかんないから、入ろうとしても
ERROR 1045: Access denied for user: 'root@127.0.0.1' (Using password: YES)
ではじかれちゃうんです・・・(T-T)
どなたか、再設定のいい方法知ってますか?
0890nobodyさん
03/06/12 12:04ID:???まずySQLの再インストール
それでもだめだったらMySQLの再インストール
それでもだめだったらOSの再インストール
それでもだめだったら窓から投げ捨てる
それでもだめだったらとりあえずオナニーして帰宅
それでもだめだったら疥癬切手首釣って寝る
0891nobodyさん
03/06/12 14:59ID:???MySQLはユーザ管理情報をデータベース上に持っている。
これは再インストールしても削除/上書きされない
(上書きされるようならかえって困る)
パスワードを忘れたぐらいなら、下記の方法で再設定。
http://www.mysql.gr.jp/jpdoc/3.23.x/manual.ja_Problems.html#Resetting_permissions
読んで意味が判らんとか、Windowsでのやり方を手取り足取りなんて言うヤツは
「アンインストール→インストールディレクトリ削除→再インストール」の手順。
0892nobodyさん
03/06/13 02:22ID:pF2u1x3Jどこ探してもレプリケーション止まりで・・・。
0893879
03/06/13 06:31ID:???serial_idを導入し、
第2正規化までして表を分割することで解決できました。
ここでまた質問なのですが、
この分割した表を結合して表示すると
ID 名前 電話
01 はなこ 03-2222-2222
01 はなこ 00-0000-0000
02 あおき 00-3253-2123
03 なおこ 43-2342-2342
のようにIDが重複して表示されるのですが
コレを
ID 名前 電話
01 はなこ 03-2222-2222
00-0000-0000
02 あおき 00-3253-2123
03 なおこ 43-2342-2342
のように表示させるにはどうしたらよいのでしょうか。
何か便利な機能などあるのでしょうか?
0896nobodyさん
03/06/13 10:16ID:???クラスタリングは出来ない。その辺が必要ならOracleとかPostgresを採用。
マスタ−スレーブ・レプリケーションは可能。つまり検索の負荷分散はできる。
マスタ−スレーブの切り替えは自動では出来ない(スクリプト書きゃ簡易的には出来るのかな)ので
障害時にマスタが死んだ時に、スレーブ→マスタへクラスチェンジするにはちょっとだけ作業時間が時間が掛かる。
#Postgresのクラスタリングも障害対策としてじゃなくて負荷分散化の手法だったと思うけど。
つかDBのクラスタリングはOracleだと150万円ぐらいからの世界だし、元々MySQLが得意とする分野ではないな。
スピードが欲しければCPUの数と何よりも"DiskI/O"を上げた方が手っ取り早いです。
MySQLじゃなくても、Oracleであっても多くの場合そうしてるはず。
0897nobodyさん
03/06/13 10:24ID:???ちょっと違うかもしれないけど
http://www.softagency.co.jp/mysql/emic.html
0898ド素人
03/06/14 13:48ID:FXhQPxM8PHP + MySQLを利用したシステムの設計で悩んでいます。
コスト上の制約で、共有レンタルサーバーでの環境になりそうなのですが、
深夜の決められた時刻にバックアップを自動で行うような事は可能なので
しょうか?
スケジュールによる自動実行は、CRONが一般的なのでしょうけれど、それ
を許している共有レンタルサーバーは、少なそうなもので、CRON以外の実
行方法があれば、教えて頂きたいのですが。
宜しくお願いします。
0899nobodyさん
03/06/14 13:59ID:???MySQLにはMySQLDumpという便利なツールがついていて,
DBの内容をSQL文にしてダンプしてくれる。
これをシェルスクリプトかなんかで圧縮して保管したりftpで別ホストに投げたりするのを書いて,
crontabで時間を決めて実行させるようにすればできる
crontabが使えないのなら,crontabが使える別ホストから,上記のシェススクリプト
を起動するようなスクリプトを書けばよい
0901_
03/06/14 14:30ID:???0902ド素人
03/06/14 14:32ID:FXhQPxM8ご丁寧な返信、ありがとうございます。
やはり、CRON系になりますよネ..。
導入後は、極力メンテナンスフリーにしたいもので、別ホストからのキック
という行為も、避けたかったりなんです。
バックアップしたいのはDBだけなのですが、難しい環境ですよネ..。
PHPやMySQLに、スケジュール実行機能のようなものが用意されていれば、そ
れを使いたいのですけれど、無さそうですし..。
0903899
03/06/14 14:49ID:???たとえばデータの更新をする際にカウンタをとって,INSERTかUPDATEが25かい
行われたらMySQLdumpを起動してバックアップみたいなコードを書くのはどう?
「時間を決めて」にはならないけど
0904nobodyさん
03/06/14 14:49ID:???スケジュール実行つう時点でPHPにもMySQLにもそういった機能はない。
これはUNIX系ならcron,atとかWindowsならスケジュールなんやらの機能。
んでバックアップはdump以外には、SQLのSELECTによるベタ抽出、
DBファイル自体のバイナリーバックアップなんかがある。
>別ホストからのキックは避けたい
まず共有レンタルサーバーでMySQL/cronの両方が使えるところを探す
バックアップは先のバイナリーバックアップやdumpの方法は、共有サーバだと
手段が提供されていない可能性があるので、使えるか確認。
SSH等でコンソール操作が開放されているサーバが良い。
海外サーバだと該当するところで安いところ結構ありますよ。
(極端に安いところは避けること最低US$10/mth以上)
あとサービスにデイリーバックアップがあって、バックアップからの戻し作業に
比較的柔軟に対応してくれるところを探す。ハード障害時の戻しは普通にやってくれる
けどユーザの都合による戻しは、規定サービス外になるからね。
0905nobodyさん
03/06/15 00:16ID:???扱うデータにもよるけど・・・・
0906nobodyさん
03/06/15 00:27ID:???俺はシェル使えない時点で却下。
どんなに安くて良さげな鯖でも。
cron で実行するのはだいたいシェルスクリプトだと思うから
シェルがつかえないんじゃスクリプトの動作チェックもできやしない。
それに SSH 使えりゃ FTP は不要だし、通信路が暗号化されて
データ盗まれる心配もないし。
0907ド素人
03/06/15 19:30ID:ZJ3F1oWLhttp://www.atmarkit.co.jp/flinux/rensai/apache08/apache08a.html
共有レンタルサーバー、プライバシーのレベルで、同居人同士の干渉はシェル
レベルでも避けたいものです。UI上でも、他人の存在は一切知らない/気付か
ないでいたいものです。
負荷の部分でも、干渉を避けたいですけれど、これは借りてみないと分からな
いですし..。
ここまでのアドバイス、大変助かりました。感謝しております。
SQLもPHPもそれほど詳しくないもので、機能として存在するかがネックでした。
また何かありましたら、宜しくお願い致します。
0908nobodyさん
03/06/16 01:04ID:???シェルレベルでは案外きちんと干渉問題にはならない設定になってます。
元々そういう使い方を想定してるから>UNIX系
0909PerlでDBM
03/06/17 15:50ID:nJC3WMH6BSD DB(Berkeley DB)
の方がMySQLより早いのかなわからない。
ので教えてくださいませんか。
サンプル有り
http://www.ecopig.jp/comucale/dbm.htm
0910nobodyさん
03/06/17 16:17ID:???↑のnavicatってどうなん?
DLしてみたけど接続できない。。。
検証お願い〜つД`)
0912nobodyさん
03/06/17 22:16ID:???もう直ってる?
0913nobodyさん
03/06/18 17:23ID:ncBdk+QvDBでカウンタなどを作る場合、一度SELECTで呼び出さずに
UPDATEの時に数値を増やす事って出来ますか?
0914nobodyさん
03/06/19 00:01ID:KVEfyld0初心者で御免
0915nobodyさん
03/06/19 01:12ID:???UPDATE table SET count = count + 1 のように
SETの値に自身を含ませた算術式を用いることでカウントアップができる。
UPDATE文の基本的な使い方なのでマスターすべし。
0916nobodyさん
03/06/19 01:27ID:???有難うございます!
悩んでいたので、これですっきり眠れそうです。
0918nobodyさん
03/06/26 12:56ID:ruPp/IY2データベースの内容を修正しようとしています。
タイプがvarcharなのですが、そこに日本語を使おうとすると、
phpからそこを呼び出して、表示させる際に必ず文字化けしてしまいます。
(phpmyadmin上では文字化けせずにちゃんと表示されるのですが・・)
解決策がありましたら教えてください。
よろしくおねがいします。
0919nobodyさん
03/06/26 13:12ID:???表示させてるエンコードは?
かいてみ。
0920_
03/06/26 13:16ID:???0921nobodyさん
03/06/26 15:03ID:???mb_convertつかったらちゃんと表示されました。
>>919
どうもありがとうございました。
0922nobodyさん
03/06/28 00:23ID:aMKyXNMC大文字小文字を無関係とする検索は可能?
0923nobodyさん
03/06/28 01:52ID:???つかBINARY属性のつかない、普通のCHARとVARCHARフィールドの値はケース依存しない。
http://www.mysql.gr.jp/jpdoc/4.0/manual.ja_Reference.html#CHAR
0925nobodyさん
03/06/28 13:00ID:???数値型のワイルドカードというのはあるのでしょうか?
つまり
select * from table where int >= ○○○;
のような文で、○○○にワイルドカードを入れると常に結果が真になるようなものです。
ご教示願います。
0926nobodyさん
03/06/28 15:55ID:???MySQL以前に「数値型のワイルドカード」って何(数学の問題)?
常に結果が真が欲しいなら"1"とか"1 = 1"とでも書けば良い。
そもそもWHERE節を使う必要もない。
NULLを外したい(数値との条件)のなら、"IS NOT NULL"
○○○の部分だけを変えて動作を切り替えようとしてるから、どうして良いか
判らなくなってるんだと思うけど、普通WHERE以降の条件部分全てを変えるか、
WHERE節ごと変化(付けたり付けなかったり)させる。
0927925
03/06/28 16:24ID:???お返事ありがとうございます。
現在PHPの演習として、HTMLでフォームを作りそこのフォームから送られてきた数値を
SQL文に組み込んで検索させて結果を表示するWebDBを作っています。
で、
$sql = "select * from table1 where percentage >= ". $_POST["percentage1"] ." and percentage <= ". $_POST["percentage2"] ."";
のようなSQL文を作ったのですが、フォームから空白が送られてきた場合にすべてのデータが
HITするようなSQL文を変数の値のみを変更することによって作りたかったのです。
926さんの言うとおり
>○○○の部分だけを変えて動作を切り替えようとしてるから、どうして良いか
>判らなくなってる
ですね。
ご助言ありがとうございました。
とりあえず空白が送られてきたときに条件分岐させて別のSQL文を送るようにしようかと
思います。
0928nobodyさん
03/06/28 16:55ID:???演習だからまあ良いけど、公開しようがしまいが多少なりとも
外に繋がるところに置くなら、ユーザからの入力値をそのままSQLクエリに使っちゃ駄目。
最低でも数値ならPHPでintval関数などを通すとか、is_numeric関数で検証するなどして
期待している通りの値なのか確実にしてから使う。
http://jp.php.net/manual/ja/security.database.php#security.database.sql-injection
他にも"SQL セキュリティ"をキーに探すと参考になるページが見つかると思うので
調べて、危険性について理解しておくこと。
0929ショシンシャ
03/06/30 11:31ID:???select * from test where HOGEのあとになにをいれたらいいんでしょうか。
0930nobodyさん
03/06/30 12:31ID:???HOGE 内の一番右側の文字を取り出すの?
それとも一桁目の数字?
0931ショシンシャ
03/06/30 12:36ID:???レスさんくすでつ。
HOGE内にはユーザーIDをあらわす数字があって、
実はその数字に1をたして次に登録する人のID番号に
したいんでつ。おながいします。
0932ショシンシャ
03/06/30 12:40ID:???$id = $sql_id + 1;
$insert = mysql_query("INSERT INTO membertbl VALUES ($id,$passwd,....
みたいなかんじでつ。
0933ショシンシャ
03/06/30 12:42ID:???3行目
$insert = mysql_query("INSERT INTO test VALUES ($id,$passwd,....
でした。
0934nobodyさん
03/06/30 12:49ID:???0935nobodyさん
03/06/30 12:49ID:???したいんでつ
そのユーザーIDはユニークで、新規登録者に今まで使ってたID+1の
IDを使わせるってことだよね??
idフィールドをauto incrementにするんじゃだめなの?
0936nobodyさん
03/06/30 12:52ID:???今まで使ってた一番大きな数のID
0937nobodyさん
03/06/30 14:03ID:???0938ショシンシャ
03/06/30 14:57ID:???オートインクリメント!(・∀・)
さすがでつ。ありがとうごいますた。
0939nobodyさん
03/07/06 21:31ID:7NRYAhNqphpMyAdminからレコードの追加をすると、phpMyAdminのレコードが文字化けします。
mysql(dos窓)のselectで見ると正常です
色々しらべていじってみたけどわからないです。
↓関係ありそうなphp.iniの設定
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
↓my.iniの設定
[mysqld]
default-character-set=ujis
[mysql]
default-character-set=ujis
[mysql-dump]
default-character-set=ujis
phpMyAdminは(ja-euc)で表示させてます。
0940nobodyさん
03/07/06 22:49ID:???0941nobodyさん
03/07/07 01:38ID:lhtnLc4PMySQLとPHPで基本としたい文字コードはなに?
0942939
03/07/07 23:18ID:???mbstring.http_output = SJIS
をコメントアウトしたらOKでした
>>941
とりあえず出来たみたいです
レスありがとうございました
0943山崎 渉
03/07/15 11:08ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0944nobodyさん
03/07/23 19:42ID:c/+uzDLaid b c
1 1 1
1 1 5
2 1 2
3 5 1
3 1 2
3 2 0
↓
id b*c
1 6
2 2
3 7
と言った感じに 同IDのb*cを足した数を取得したいのですが
SELECT SUM(b*c) from A GROUP BY id
こう書くと
下のように同じIDのBが足された数に、同idの最後のcを掛けた数が返ってきます
id b*c
1 10
2 2
3 0
どこを直せば良いのか検討もつきません、誰か助けて
0945944
03/07/23 20:23ID:c/+uzDLa自己解決しました。
0946nobodyさん
03/08/10 03:00ID:fzrQOeyOサイトのipは*.*.*.100
なのに、
別鯖のmysqlにアクセスすると、ipが
*.*.*.2になります。
これはモジュール版だからでしょうか?
別のバーチャルホストのphpも*.*.*.2で走ってるとすると、
ちょっとセキュリティー的にどう? と思うのですが
(もちろんパスはかけていますが)
こんなものなのでしょうか。
0947_
03/08/10 03:03ID:???0948山崎 渉
03/08/15 22:38ID:???│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0949nobodyさん
03/08/18 00:26ID:I4OY3KuJxreaで昨日pconnect使ってみたところ負荷が上昇したので…
デイリーアクセスが6000程度、リクエスト数が300000程度
リクエストの7〜8割がMysqlを利用するCGIです
レス数が900を超えています。1000を超えると表示できなくなるよ。