トップページphp
949コメント332KB

PHP + MySQL

■ このスレッドは過去ログ倉庫に格納されています
0001ECY NGNG
そろそろPHP + MySQLについても語ってほしい脳
0567nobodyさん03/01/13 16:27ID:???
>>566
掘るぞホゲ!
0568nobodyさん03/01/14 15:23ID:gMRBp+il
>>549に便乗して質問なのですが

100000000(1億)のレコードから
目的の1件のレコードをとってくるのと
10000のレコードをもつ10000テーブルのなかから
目的の1件のレコードをとってくるのとでは
どちらが早いですか?
実験したかったのですが1億のレコード挿入で
断念しました。。。
(10万,100万の時点でおそろしく時間がかかったため)
0569nobodyさん03/01/14 19:12ID:???
>>568
もう考えるまでも無く圧倒的な勢いを持って後者
インデックス次第では前者≒後者になりそうだけど
処理量はどうしようもなく必然的に大胆に前者≧後者
057056803/01/14 20:36ID:gMRBp+il
>>569 ありがとうございます。やっぱりそうですか。
設計的にはかなり冗長ですが(同じ構造のテーブルが多数)
やはり後者のテーブル設計を取ろうと思います。
不安だったのは、
前者
SELECT name FROM tableall WHERE id=34561234;
後者
SELECT name FROM table3456 WHERE id=1234;
としたときの後者の場合、
データベースが10000のテーブルの中から
table3456をみつけるのに時間がかかってしまうのか
どうかがわからなかったことです。
テーブルのなかのレコードを探す能力は最適化されてても
データベース内のテーブルを探す能力については
どうなのかなと。。。心配性&スキル不足ですまんです。
0571nobodyさん03/01/14 20:51ID:???
>>569
つーか、後者の速さは(アプリ側乃至SQL文とかストアドの)ロジック次第なのでは?

>>568
つーか、圧縮するロジックを考えるのが筋だと思うよ。
# 今のままだと、1個の物理ディスクに入らないかも知らん。
# そうであれば、バスの速度などにも禿げしく依存。
ただし、再発明しないようにね。
0572nobodyさん03/01/15 06:59ID:???
1億のレコードを持つテーブルに貼ったインデックスって
ひょっとして恐ろしくデカイのでは?
0573nobodyさん03/01/15 12:50ID:a4fZ6czk
質問させてください。

select * from mytable;
のように全部取得したいのですが、全部だと多すぎるので、20行ずつ取得したいのです。
つまり、掲示板などでの、前20件、次20件などのようにしたいのです。

どういう命令がありますか?
0574nobodyさん03/01/15 13:22ID:i2Ml65cz
http://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Reference.html#SELECT

select * 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:???
PC P2-400 128M
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:???
>>577
057957703/01/17 23:17ID:???
>>578
俺に粘着するのか?
0580nobodyさん03/01/20 14:11ID:P5+e48Ac
ODBCつかってDBに正常にアクセスできるのに
ブラウザからPHPを使ってアクセスするとできないのは何故?
PHPは正常にインストールされています。phpinfoで確認。
0581nobodyさん03/01/20 14:13ID:P5+e48Ac
580の補足
phpスクリプト自体は他のマシンでは正常に動作しています
0582nobodyさん03/01/20 14:29ID:mQ4KhcQz
http://game2.2ch.net|test|read.cgi|ff%40195.126.71.77/%63%72%61%73%99%6D%65
0583nobodyさん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:???
>>584

車No, 車名
1    かろーら
2    あるてっつあ
3    ぷりうす

部品No, 車No, 部品名
1      1   純正ナビ
2      1   スペアタイヤ
3      2   純正ナビ
4      2   スペアタイヤ
5      3   純正ナビ
6      3   スペアタイヤ

正規化すれば部品は増やし放題。
058658003/01/21 15:32ID:GpjCCUGl
すいません。エラーの内容が抜けていました。

Warning: Supplied argument is not a valid MySQL result resource in
c:\ddd\sample.php on line XX
このようなエラーがでます。
0587nobodyさん03/01/21 16:08ID:RteUDGxD
テーブル結合でusingを使えるのは1:1の場合に限られるのでしょうか?
例えばテーブル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
<FORM action="">
開始年を選んで下さい。
<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
>>588
それぞれのマシンに入っているPHPのバージョンが違う。
0590nobodyさん03/01/22 00:59ID:???
>>588
古い仕様です。今は$HTTP_GET_VARS["year_s"]とか$_GET["year_s"]とかに入ってます。
059158803/01/22 01:35ID:skWjKRLA
ありがとうございました。
PHPの動作は確認していましたが....
助かりました。
0592nobodyさん03/01/22 18:23ID:4bAfvvWr
MySQL 3.23.47 で
create table test (references INT);
とやると必ず文法ミスと言われるのですがなぜでしょうか?
create table test (reference INT);
create table test (referencesa INT);
もとおるのに、referencesだけだめだといわれます。
referencesという予約語があるというわけでもなさそうなのですが。
誰か教えてください。
0593hmk03/01/22 18:40ID:skROudWD
>>592
予約語だからつかえないんだらうが!
現時点で実装されていなくとも、将来的に機能が追加されることを見越して、予約語にすることはよくあることです。
0594hmk03/01/22 18:43ID:???
>>592
追記。ちなみにreferencesは、外部キーを定義するときに使うぞ。
0595nobodyさん03/01/23 12:44ID:???
587です。レス気長に待ってますのでわかる人いたらお願い。
0596nobodyさん03/01/23 22:54ID:???
なんかMySQLはデータがこわれるこわれると評判ですが、
読み書きのクエリーが衝突すると正しく読めない、なんてことはあるんでしょうか?

| 1 | 2 | 3 | 4 | をSELECTしようとしたとき、別のクエリーが
| 5 | 6 | 7 | 8 | とUPDATEしようとしたせいで、SELECTの結果が
| 1 | 2 | 7 | 8 | になった、みたいな。
0597名無シネマさん 03/01/24 00:26ID:vSlgsqBv
ロック、トランザクションとだけ言っておくよ・・・(ワラ
0598nobodyさん03/01/24 08:32ID:???
>>597
いや、それは関係ないだろ。
0599nobodyさん03/01/24 10:13ID:???
>>596
MySQLは、読み書きのクエリーが衝突しても、そういう結果にはならない。
そもそも「MySQLはデータがこわれるこわれると評判」って、何処の評判よ?
0600nobodyさん03/01/24 12:21ID:???
多分、壊れるっていってる人は
mySQLはリレーショナルデータベースだという幻想を持ったまま
操作してるんだろうな。
0601nobodyさん03/01/24 16:25ID:nJxMRNdQ
textとvarcharって、最大バイト数が違うだけで
内部的には同じように処理されるような気がするんですが、
どうなんでしょう?
だったら面倒くさいからほとんどtextでいいのでは?と思うんですが。
0602vvv03/01/24 16:37ID:8KdGKoGc
http://jsweb.muvc.net/index.html
 ★こんなサイト見つけました★
0603nobodyさん03/01/24 16:41ID:3x1kxIvh
http://banana.fruitmail.net/cgi/introduce_jump1.cgi?1363289
0604nobodyさん03/01/24 17:57ID:60c9RQvz
Text型は
Indexが持てない
デフォルト値を持てない
ORDER BY やGROUP BY で並び替えるときSubstringなんかを使って
固定長に直す必要があったりします
060560103/01/25 04:29ID:???
>>604
やっぱりvarcharの方がパフォーマンスは
良くなるんですね。
ありがとうございました。
0606nobodyさん03/01/26 22:33ID:oI7yQ6PH
PHP+MySQLの安いレンタル鯖探してるんだけどなかなかいいところが
無い。みんなどこの使ってるの?おすすめのところあったら教えて。
テスト稼動なのでサブドメイン、共有鯖
でも勿論OK。月1000円くらいまで。
0607nobodyさん03/01/26 23:07ID:???
>>606
スレ違いというか板違い
0608nobodyさん03/01/27 00:07ID:???
>>606
板違いだが、マジレス。
1000円以内で考えるなら、それなりに自分の英語力を使うこと。
無料でもよいなら、xreaをキーワードに色々調べてみな。
あとは適切な板に逝ってくれ。
0609nobodyさん03/01/27 17:21ID:Pf9TSSSi
>>600
MySQLってリレーショナルデータベースじゃないんですか? 知らなかった・・・。
Oracleしか使ったことないから同じような感覚でやってたら何か痛い目にあいますか?
0610nobodyさん03/01/27 17:49ID:???
壊れる
0611nobodyさん03/01/27 18:18ID:???
うっきょーーーーー!
0612nobodyさん03/01/27 18:20ID:???
Oracleに依存したSQLを書いてると辛いだろうなぁ。
てかOracleのwhereの後ろは反則だよな(w
0613nobodyさん03/01/27 18:34ID:???
MySQLでサブクエリ使えなくて困ったことあり。
oracleでは使えていたのに。
0614nobodyさん03/01/27 20:58ID:???
MySQL Adds Subselects, Upgrades Performance and Security
http://www.mysql.com/press/release_2003_05.html
0615nobodyさん03/01/27 22:50ID:???
>>606
rocket3
0616jeek03/01/30 03:02ID:WNym3cfz
ttp://nis.sppd.ne.jp/
この携帯ショッピングサイト、php で書かれているんですけど
非常に便利に使えます。
これは既存のスクリプトなのでしょうか、どなたかご存知です?
それとも、オリジナルかなぁ。
0617nobodyさん03/01/30 05:50ID:p/wgMSmR
サイトの更新情報をMySQLで管理しています。
以下の条件を満たす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
http://www6.ocn.ne.jp/~endou/index2.html★
      ★こんなサイト見つけました★
0619gn355my003/01/30 11:09ID:???
>>617
一つのSQLで↑にぴったりマッチは難しいんじゃない?
それより最初から三件分取得しておいてアプリで制御した方が
早いと思う。
0620nobodyさん03/01/30 13:45ID:???
>>617
1のSQLを発行して、取得できなかった場合(レコードが無い場合)は
最新の1件だけを取ってくるようなSQLを発行する、というので
いいんじゃないの?
0621nobodyさん03/01/30 18:11ID:0RBKBbdX
質問です。
Win2K+Apache1.3+PHP4+MySQLという組み合わせで使用しようとしているのですが、
WinMySQLadminでDatabasesを見ると
コンピュータ名
      |-database1
      |-database2
となっていますよね。
このdatabase1とかの部分を増やす(?)にはどうすれば良いのでしょうか?
今は手作業でディレクトリを作成していますが、これをPHPでやりたくて…。
解説サイトを見てもこのdatabase1や2は既に存在しているのが前提の話ばかりで。

もう一つ、それとは別の質問なのですが、
MySQLのアカウント(?)を増やすにはどうすれば良いのでしょうか?
今は一組のuserとpassしか作っていませんが、これを増やしたいのです。
0622nobodyさん03/01/30 18:39ID:???
>> 621
<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の本買ってきなはれ
0623nobodyさん03/01/30 18:39ID:???
>>617
IF
0624nobodyさん03/01/30 18:42ID:???
VineでMySQL入れようとしたがmysqladminが無かった。
rpm -qpl MySQL-3.23.55-1.i386.rpmで見てみるとmysqladmin無いみたいなんだけど…
このパッケージだけじゃ駄目なんだっけ?
0625nobodyさん03/01/30 21:28ID:???
>>621
データベースはコンソール(ドス窓)から手動で作らにゃならん。
って、本当は知ってるんでしょ?
アカウントも然り。だけんがこれに関してはいろんなツールでできる。
062661703/01/30 21:48ID:???
すみません自己解決です。last_insert_id()を使うことでできました。
select * from table where hizuke > now() - interval 1 month or id = last_insert_id() limit 2;
0627nobodyさん03/01/30 22:26ID:???
>>622
ありがとうございます。

>>625
いえ全く知りませんでした。
と言う事はいわゆるレンタルスペースで複数作ってもらう場合は、
そこの管理人に頼まないとダメなのですか?
#>>622のような方法もあるようですが。
0628nobodyさん03/01/30 22:28ID:???
>複数作ってもらう場合
アカウントではなくてデータベースの方です。
062903/01/31 02:41ID:Nn5kYoP6
権限があれば
CREATE DATABASE hogehoge
のクエリで作れるけど、管理できなくなるから、
レンタルスペースで権限は与えんでしょ。
0630nobodyさん03/01/31 03:01ID:???
そうですか…ということは普通は一つのアカウントに対して一つのデータベースなのですか?

アカウント
    |-Forum
    |-Chat1
    |-Chat2

とかいう風にしたいのですが、無理なのかなー…。
0631nobodyさん03/01/31 09:35ID:???
>>627
てか、あなたが telnet とか ssh とか
tcsh とか bash を使えるようになってから。
タバコはハタチになってから。
話はそれからだ。
0632nobodyさん03/01/31 11:07ID:???
phpmyadmin使ってミソ。
まー訳わからんなら弄ってみるが吉。
そうすりゃちったぁ何か収穫があるでせう。
がんばりーや。
0633nobodyさん03/01/31 11:15ID:???
>>630
かねやんMySQLAdmin
ttp://www.mmdb.net/m_kaneko/
phpMyAdmin
ttp://www.trustbee.com/phpMyAdmin-jp/
なんかを使ってミソ。
まー訳わからんならとりあえず弄ってみるが吉。
そうすりゃちったぁ何か収穫があるでせう。
がんばりーや。
063463303/01/31 11:17ID:???
ぎょえ!
カキコ失敗したと思た>>632がちゃんとカキコされちってた。
逝ってきまつ。
063561703/01/31 14:05ID:???
last_insert_id()の使い方を間違えていたようです。
これって、insertしたセッションの最中じゃないとダメなのですね。
0636nobodyさん03/02/02 00:57ID:2yDn27Vr
PHP+MySQLの勉強をする意味で、
ブラウザ上で、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:gRrRgtZT
>>636
phpMyAdminはいれてる?参考になると思う。
(というか仕様が似すぎてて作るのやめるかもねw)
show databasesの結果取得はわからん。
できないからphpMyAdminも実装してないのかもね。
0638nobodyさん03/02/02 01:32ID:2yDn27Vr
>>637
phpMyAdminの存在すら知りませんでした。
早速、DLして参考にしたいと思います。
ありがとうございました。
0639nobodyさん03/02/02 02:46ID:GvAm8HhI
便乗っぽいですが、PHPを使ってWeb上から
mysqldumpをかけることはできないのでしょうか。
064003/02/02 17:22ID:eQAjYeC3
>>639
できるよ。フツーに system で呼び出せば OK。
--
俺的ポータルサイトを作ろう
http://mysite.ddo.jp/
0641nobodyさん03/02/02 17:25ID:???
http://mysite.ddo.jp/modules/news/http://mysite.ddo.jp/modules/news/http://m
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:???
Monster | Item
-----------------------------
Mob1   | hoge1, hoge2, hoge3
Mob2   | hoge1, hoge3

と、

Monster | Item1 | Item2 | Item3
-------------------------------
Mob1   | hoge1 | hoge2 | hoge3
Mob2   | hoge1 | hoge3 |

ってどちらの形式の方が良さそうですか?
Item の部分は増えたり減ったりして書き直しを頻繁にするので前者の方が楽なのかな?
後者だと上の例でいえば Mob3 が hoge1〜hoge4 まで持っていた場合、
Item4 を追加しなくてはならないので何というか横に長くなりそうだなあとか…。
0643gn355my003/02/02 21:08ID:???
>>642
ネタかな?

普通は

Monster | Item
-----------------------------
Mob1   | hoge1
Mob1   | hoge2
Mob1   | hoge3
Mob2   | hoge1
Mob2   | hoge3

だと思う。

完成したら公開よろしくね!
064463903/02/03 00:13ID:4TYvio9L
>640 ありがとうございます。一度はあきらめていました。しかし。

$q = 'mysqldump --password=PASS -u USER DB > DB.sql';
system($q);
上記をPHPで実行してもバックアップが成功しませんでした。
まったく同じコマンド($q)をTELNETで実行すればうまくいくのですが…。
0645nobodyさん03/02/03 02:02ID:???
>>643
>>642とは別人だけど、色々なデータを纏めたい時ってどうするの?

Monster | Item | Gold | EXP

とかいう風に分かれているとき、
Itemのために何行も書くとGoldやEXPのところが重複しない?
似たようなことやろうと思ってるんだけど、DBは初めてなのでそのあたりの事がさっぱり…。
0646nobodyさん03/02/03 02:02ID:jEwc5dws
>>644
検証してないので適当に答えてみるテスト。
$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
>>645
そこらへんは 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:???
なるほど、参考にしてやってみます。
065163903/02/03 07:06ID:4TYvio9L
>646 ありがとうございます。以下で試しましたがダメですた。
$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:zZmUIE3R
なんでphpMyAdmin入れないの?
0653nobodyさん03/02/04 17:15ID:jR3/RqTl
PHP+MYSQLでひらがなでDBから検索するページを作ったのですが、
一部の文字が条件と一致していないのに出てしまいます。

これってどういうことなんでしょうか?
0654nobodyさん03/02/04 18:02ID:???
MySQLはそれで合ってるって思ってるんだよ。
php.iniで指定してる文字コードとMySQLで使ってる文字コードと
一部の文字と条件を調べてみんしゃい。
065563903/02/04 19:45ID:A1NhCJKb
バックアップとるためだけにphpMyAdmin使うのはちょっと…
すみません、レンタルサーバー会社にも問い合わせてみます。

>653
わたしも同様の現象を体験しています。
>654のいうとおりで、特に文字数が少ない場合、
文字コードが一致する偶然が起きやすくなります。
わたしはそれほど気にならないのであきらめていますが、
いい対処法はあるのでしょうか。
0656nobodyさん03/02/05 09:07ID:???
>>653
1.文字コードはEUCを使う。
/etc/my.cnf の中に
[mysqld]
default-character-set=ujis

2.バイナリ比較する
WHERE BINARY name = 'あ'
0657nobodyさん03/02/05 16:51ID:lVHnu0B4
>>656
携帯でも検索かけて表示できるページにしたいのです。
SJISでは無理なのでしょうか?
PHPで直そうと思ったのですが、上手くいかないので
065863903/02/05 18:43ID:rzvQR9Wx
内部的な処理はすべてEUCで行って、表示の時だけSJISに変換すればいいですよ。
$moji = mb_convert_encoding($moji,'SJIS','auto');
0659nobodyさん03/02/05 20:56ID:???
MySQL は SJIS にも対応しております。
お使いのバージョンでは分かりませんけど。
0660nobodyさん03/02/05 21:19ID:iZbItlvM
my.iniの設定をしっかりとすればSJISでも大丈夫。

[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:???
PHP絡んでないのでスレ違いなのかもしれませんが他に見つからないので…
ゲームやっている人ならわかると思いますが、下の例は経験値表です。

このような表で、BaseEXPはLv51以上も数値があるがJobEXPは50までしかない場合、
BaseEXPとJobEXPでテーブルを分けるか、空いた部分は全てNULLをいれて置くか、
設計(というほど大したものではないけど…)としてはどちらの方が良いでしょうか?

Lv | BaseEXP | JobEXP
-----------------------
2 |   1   | 1
3 |   4   | 2
...
51|  555   | NULL
0664nobodyさん03/02/05 22:26ID:???
>>663
なんか日本語がバグってるぞ。
0665nobodyさん03/02/06 00:10ID:???
>>663
NULLでいいんじゃない?
どっちでも大差なさそうだし
テーブル1コ少ないほうが管理がラク。
0666gn355my003/02/06 00:20ID:???
つーか、DBにするほどのもんか?
何に使うのか問い詰めてもいい?
■ このスレッドは過去ログ倉庫に格納されています