PHP + MySQL
■ このスレッドは過去ログ倉庫に格納されています
0001ECY
NGNG0644639
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で構築できます。
■ このスレッドは過去ログ倉庫に格納されています