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

PHP + MySQL

■ このスレッドは過去ログ倉庫に格納されています
0001ECY NGNG
そろそろPHP + MySQLについても語ってほしい脳
032051202/09/30 12:29ID:???
>>317

MySQL-MAXってやつだよ
0321noodyさん02/09/30 12:40ID:???
>>319
http://www.mysql.jp/mysql/TIPS/transaction.html
032231902/09/30 12:50ID:KKxE6nj4
>>320-321
ありがとうございます
さっそく調べて実行してみます
032331902/09/30 13:19ID:KKxE6nj4
うちのMySQLのバージョンが古くてinnodbが含まれていないようなのですが、
http://www.innodb.comからダウンロードして設定すれば使えるようになるかな?
032431902/09/30 13:47ID:KKxE6nj4
うちのバージョン
mysql Ver 11.12 Distrib 3.23.33, for pc-linux-gnu (i686)
これはバージョンアップした方が早かったりするのか・・・
0325nobodyさん02/10/01 02:33ID:???
Mysqlのデータを300になったら古いのから削除するには
php側はどのように書けばいいですか?
0326nobodyさん02/10/01 14:28ID:EJy0Vdqk
>>325
300になったらって、なにが300かわからん
具体的な表があると答えやすいかも
032731902/10/01 15:13ID:dCttkLX0
3.23.33ではrollback処理ができないので、
LOCK 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:???
>>326
ありがとうございます。
┌──┬────┬────┐
│ 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という上限枠をどのようにしたらいいのか
わからない、というかどんな感じにすればいいでしょうか?お願いします。
0329hmk02/10/01 15:50ID:???
>>328 MySQLは良く知らんが、
まず、
"SELECT COUNT(*) FROM the_table" の結果を変数 $cnt に代入せよ。
そして、
"DELETE FROM the_table WHERE id<=${cnt}-300" せよ。
0330nobodyさん02/10/01 16:19ID:???
>>329
あーなるほど、わかりました。
ありがとうございます。
0331nobodyさん02/10/03 13:23ID:m4AMz0v6
>>329
COUNT しちゃだめっしょ うまくいくのは一回目だけ...
0332nobodyさん02/10/03 13:32ID:???
行数拾って300引いて、
正ならその分だけ上から Delete。
0333nobodyさん02/10/07 16:51ID:???
あげ
0334nobodyさん02/10/07 19:16ID:???
何故この板はこんなに人が少ないんだ?
Webプログラミングしてる人間が少ないのか?
0335hmk02/10/07 19:57ID:???
>>331
そうでした。失礼しました。

>>334
何ででしょうね。
本業でやってる人はこんなところに来る必要なないにしても、趣味でいじくってる人は沢山いてもよさそうだが。
他の板とか2ch以外のところで解決してるのかな。
0336nobodyさん02/10/08 14:53ID:???
ページの分割で Mysqlのレコードの20から30を呼び出すにはどうすればいいですか?
0337nobodyさん02/10/08 15:40ID:???
>>336

http://www.mysql.com/doc/en/SELECT.html
0338nobodyさん02/10/08 16:47ID:???
>>337
ありがとう
0339nobodyさん02/10/08 17:02ID:???
>>337
ありがとうって....
あんたあれだけで解るのか?ある意味凄えーーー
0340nobodyさん02/10/09 15:13ID:???
hoge というテーブルが存在するかどうかを調べたいのですが、
どのような方法があるのでしょうか?

現在は SELECT 文を発行して
mysql_error() から判断していますが、
何か他にスマートな方法があるのではないかと思いまして……。
0341nobodyさん02/10/09 15:42ID:k7vFrv7Z
>>340
あんがい、'show databases' がつかえたりして
0342 02/10/09 15:54ID:???
あの〜激しくスレ違いな気がしたのですが質問させていただきます。
PHPで一階層上のファイルを指定するにはどうしたらよいのでしょうか?
HTMLで1階層上を指定するには「../」(ドットドットスラッシュ)ですが、
PHPで同じ事をやろうとしてもうまくいかないみたいです。
すごく初心者な質問で申し訳ないのですがどなたかご教授お願いします。
0343hmk02/10/09 21:12ID:???
>>342
【PHP】質問スレッド Part5
あたりで質問したら?
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でサイトを組むことになりました。
頻繁に更新やバージョンアップが行われそうなかんじです。

そこで質問ですがPHPでのコーディングの見本みたいなのってありますでしょうか?
こうコーディングしろみたいな。
なんか一冊本を読んでみたら、あんまりいいソースではなさそうなので。
へんにテクニックはしったトリッキーなのではなく実際の運用、メンテなんかも考慮して
いいソースがあったら教えてください。
0346nobodyさん02/10/11 17:27ID:vFRmIjHv
>>344
よかったら俺の開発したクラスでも使いたまへ。

/*
ロックするクラス
使い方
//インスタンス生成→初期化→ロック実行
$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:???
すいません。PHP&mysqlでデータベース使おうと思ってるんですが、
ローカルから接続しようとすると
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の記事を読んで、そのままやってみたのですが、うまくいきません。
権限の問題なのでしょうか?
0349nobodyさん02/10/11 20:54ID:???
>>348

何故 ".pl" なの?
035034402/10/11 21:06ID:F1zE+kMi
>>346さんありがとうございます!!
ってちゃんとクラス使ったことのない初心者なんでちゃんとクラスの勉強して
使わせて頂きます!

>>347
そうですね、MySQlだけ、みたいな書き方してましたね
紛らわしいいカキコですいませんでした。
0351nobodyさん02/10/11 21:39ID:???
2つのルーチンで半分ずつデータを作って、それを別のルーチンが全部読み込むという処理なんですが、
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:???
>>351
ケースバイケースだね。
レコード数にもよるし…

毎度毎度joinするなら、一つにして置いた方が良いけど、
それぞれ別で使うけど、たまにjoinする位なら分けても良いだろうね。

どんな処理が一番使用頻度が高いのか見極めないと…

単純に、全てのデータを読み込むだけってなら、一つの方。
0353nobodyさん02/10/14 20:41ID:OXcSlbm9
>>348
http://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
著しく既出かもしれませんがPHP+MySQLで

$sql="select * from table1 where year>1998 and month>9 ;

where以降の複数の条件をプルダウン形式か何かで選択して、ボタンで実行するのに何か助言が参考URLがあればよろしくお願いします。
0355nobodyさん02/10/15 00:00ID:???
$sql = "SELECT * FROM table1 WHERE year>{$_GET['year']} AND month>{$_GET['month']}";
ってか質問するレベルじゃないだろ
0356nobodyさん02/10/15 00:01ID:???
XSS に気を使えよ。
0357hmk02/10/15 00:09ID:JxJ8+H53
>>354
MySQLはよく知らんが、以下のようにすればよいでしょう。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:???
ってかみんなユーザーからのリクエスト(POST、GET)の値を生でSQL文とかに入れてんのか??
セキュリティ的にヤバイだろ。

>357
そんなんだと単純なSQL文にしか対応できないからヤダ
0359hmk02/10/15 01:27ID:JxJ8+H53
>>358
>セキュリティ的にヤバイだろ
「生で」の意味がよくわからないが、掲示板程度のものならセキュリティなんて問題にならないと思われ。

>そんなんだと単純なSQL文にしか対応できないからヤダ
そんなことはない。

例えば、以下のようにすれば状況に応じて条件を加えたり外したりできる。
if ($male_only == TRUE) {
$where[] = "SEX='male'";
}

また、357の例だとAND条件しか出てこないが、工夫次第でOR条件も組み合わせられる。
上記方法は、約一年の業務経験から、コーディング速度、メンテナンス性共に高いものだと思われます。

お前ら、WHERE句の柔軟な整形法について何か他の意見はありませんか?
0360nobodyさん02/10/15 01:29ID:???
> 掲示板程度のものならセキュリティなんて問題にならないと思われ。

氏ねよ。
0361nobodyさん02/10/15 01:31ID:???
>>358
> ってかみんなユーザーからのリクエスト(POST、GET)の値を生でSQL文とかに入れてんのか??
> セキュリティ的にヤバイだろ。

356氏が喚起してる。
0362nobodyさん02/10/15 01:34ID:lZ9npSqA
>>357
うまく行きました。ありがとうございました。
OR条件もうまくいきました。感謝です。
0363hmk02/10/15 01:59ID:JxJ8+H53
>>360,361
掲示板程度云々は言い過ぎました。失礼しました。
だけど、SQLの検索条件にするだけなら、「生」で問題はないのでしょう?
0364nobodyさん02/10/15 02:26ID:0Z8FjDM5
>>363
「ちょっとくらいなら」とか言って生で中出しするタイプだな。
0365 02/10/15 02:37ID:???
「生」で insert
0366hmk02/10/15 03:53ID:OUYqpsts
携帯からのカキコです。

よくよく考えてみたのだが、ユーザからのデータは生のままDBに入れておくほうが良いと思う。セキュリティが問題となる場面では、DBから取り出した後にデータを加工すれば良いのですから。

ところで、不要/不正なデータをINSERTしないのは良いとしても、何らかの加工をしたデータを挿入するのはブ男のすることだと思う。
0367nobodyさん02/10/15 05:25ID:???
>>366
全てをすぐに加工するんじゃなく、
一度チェックしてから、必要であれば加工をする…ってのが普通だと思う。
0368hmk02/10/15 13:47ID:???
後で使うときのためにデータを加工することは、元のデータがもつ情報を減らしているようなものである。
処理速度を稼ぐためだとか、プライバシーを守るためだとかいう理由があるのなら、加工されたデータをDBに保存しておいてもよいと思うが。
0369nobodyさん02/10/15 21:32ID:V68LrvQr
$result = mysql_query("delete from data_T where id_no='$id_no_sql' and deleteKey='$deleteKey_sql'");
if (! $result) echo mysql_error();
$affectedRows = mysql_affected_rows($result);

という何の変哲もないコードなんですが、
affected_rowsの行でエラーになります。
delete自体は問題なく行われているのですが…
何故なんでしょう?
0370nobodyさん 02/10/15 21:55ID:???
mysql_affected_rowsは引数に接続IDをとるみたいだから
mysql_connectまたはmysql_pconnectの戻り値を渡すのでは?
0371nobodyさん02/10/15 22:04ID:???
>>370

仰る通りでした。
引数に結果IDと接続IDを取るパターンがあるんですね。
すべて結果IDと思いこんでいたのでかなり悩みました。
ありがとうございました。
0372さばかん02/10/16 13:05ID:IQMQRi3E
せめて特殊文字列のエスケープくらいはしてね
SQL構文にそのままユーザー入力血を入れるのはやめれ
「CGI」 と 「セキュリティー」で検索すれば
いろいろ参考資料が出てくると思うが

ここに出てるのはサンプルなんで
mysql_escape_string とか使ってないだけだよね……
本物ではちゃんとエスケープしてるよね……
0373nobodyさん02/10/16 13:57ID:???
insert into t_hoge( comment ) values( '$a' );

とあるときに、

$a に 「');update t_hoge set comment='';」

とされるとか。
0374nobodyさん02/10/17 17:54ID:UeoXfZ3y
SQLいんじぇくしょん やね
http://www.ipa.go.jp/security/awareness/vendor/programming/a02_01_main.html
0375nobodyさん02/10/17 20:22ID:???
とりあえず addslashes() すれば O.K. なのでしょうか?
0376nobodyさん02/10/17 23:47ID:???
MySQLってバインドないんだよね。
0377nobodyさん 02/10/18 00:50ID:???
なんでおまえらおしえちゃうんだよ。
hmkのテーブルをdropしまくりたかったのに。
0378hmk02/10/19 01:36ID:???
>>377
まだ自前のサイト作ってないからセーフでした。

今更ながら、漏れが仕事やってたときに作ったスクリプトではヤバいかも。
ちゅうことで、>>377君、直しておいてくだちい。
0379nobodyさん02/10/25 21:04ID:8s4WkUQV
redhat7.3にrpmでmysqlインストールして
mysql -u root
set password for root=('設定するパスワード');
flush privileges;
で最後のとこで
ERROR 1045 Access denied for user: '@localhost' (Using password: NO)
ってでてつまってます。
なんか他のユーザー作成とかなにかやろうとするとすぐ同じエラーがでてきちゃう
んですけど、だれかたすけて〜
0380nobodyさん02/10/26 05:55ID:???
>>379
mysqladmin
0381PHP02/10/31 10:48ID:Ey5wVXnt
MySQLで検索システムを作成した場合
データ件数が50万件くらいの規模ならサーバスペックはどれくらい必要なの?
ピークは1時間に2000件くらいかな。

PHP+Apacheのサーバを別に立てて検索させます。
みなさまプリーズ!
0382nobodyさん02/10/31 10:50ID:YIQwg1nb
p�V1Gx2
0383nobodyさん02/10/31 13:02ID:???
>>382
そんなにいらんだろ
0384PHP02/10/31 13:14ID:Kody0HX+
381です。
OSはRedHat7.2を考えています。

>>382
>>383
CPUってそんなもんですか
もっと情報キボンヌ
0385nobodyさん02/10/31 13:21ID:???
MMX Pentium 200MHz
0386nobodyさん02/10/31 14:08ID:???
>>381
>ピークは1時間に2000件

なら、一件辺りは1.8秒だろ。
家のPentium 133MHzでも十分な結果を出せる
相当複雑な問い合わせをしない限り

で、複雑なことすんの?
0387PHP02/10/31 14:43ID:Ey5wVXnt
381です。

>>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(金額) ;
0388nobodyさん02/10/31 22:42ID:???
>>378
何処だろう?
デジタルニューディールのアレかな…?(w
0389nobodyさん02/11/04 00:32ID:laarhpsv
板違いっぽかったので、ここにきました。
MySQLとPostgreSQLで

table1
id
name

table2
id
date_from 期間はじめ
date_to 期間終わり

というテーブルで、

任意の日付がtable2の期間に引っかかる場合のtable1.name
を求めるにはどうしたらよいですか?
table1のidについてtable2で複数の期間が設定されています。

よろしくお願いします。
0390nobodyさん02/11/04 00:50ID:???
>389
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
こういうこと?
039138902/11/04 01:34ID:laarhpsv
>>390
サンクスコ。
うまくできました。ありがとうございました。
0392nobodyさん02/11/07 00:21ID:xJ2aD5Sd
jpegファイルを保存するには、どうしたらいいですか。
0393nobodyさん02/11/07 00:32ID:???
>>392
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:???
何故PHPはMySQLとどのような関係があるのかと激しく既出な質問をしてみるテスト
0396nobodyさん02/11/07 20:07ID:???
>何故PHPはMySQLとどのような関係があるのか
それ以前に日本語を・・・ゲホゲホ
0397nobodyさん02/11/07 21:02ID:py1Qds2+
中島くん
0398nobodyさん02/11/07 22:02ID:???
我ながら禿しく厨な質問な気がしますが、
ぐぐっても有用な情報が見付からなかったんで、よろしければ教えて下さい;
最近PHPを始めた者で、多人数同時参加型のウェブゲームを作っています。
今までPerlでゲームを作る際、データを保存するにはテキストファイルを用いてましたが、
データ量やファイルアクセスが多い場合、データベースファイルの方が良いということを聞きました。
しかし、生まれてこの方データベースというものには一切触れたことがありません;
色々調べながら取り合えず動こうと思い、MySQLをインストールしたのですが、結局さっぱりです。
それどころかデータベースの概念(?)すらはっきりしていない状態です。。。
やりたいことは決まっているのですが、まず何を学べばいいか解らずに行き詰まっています。
上記のような使い方をする場合、まず何から手を付ければいいでしょうか。
参考になるサイトや書籍の紹介でも構いません、何かヒントを下さい;
お願いします。
0399nobodyさん02/11/07 22:14ID:???
>>398
ttp://www.hotwired.co.jp/webmonkey/backend/?tw=backend
「PHP/MySQLチュートリアル」
「はじめてのデータベース」

とかどうよ?
0400nobodyさん02/11/07 22:23ID:cSdInRt3
>>394

where テーブルA.会員番号 not in ( select テーブルB.会員番号 from テーブルB )

が使えればなぁ。。。
0401nobodyさん02/11/07 22:49ID:???
>>394
MySQLは触ったこと無いがOUTER JOINがつかえるようなので
SELECT テーブルA.* FROM テーブルA
LEFT JOIN テーブルB ON テーブルA.会員番号 = テーブルB.会員番号
WHERE テーブルB.会員番号 IS NULL;
とかできるんじゃねーの?
040239802/11/07 23:01ID:???
>>399
あ、ありがとうございます!
早速勉強してきまつ。
040339402/11/07 23:51ID:EWRqr+Ty
>>400
私も最初それを試したのですが、エラーでした。他のDBMSではできたりするんですかねえ。

>>401
サンクスコ。できました。ありがとうございました。
0404nobodyさん02/11/08 00:50ID:???
>>398
http://www.wakhok.ac.jp/DB/DB.html
0405nobodyさん02/11/08 01:08ID:Veqht0/Q
質問があります。
MySQLで、例えば
A B C
というフィールドがあるとして、C列にA列とB列を足した値を
入れておくことってできますか?しかも、A列とB列の値が変われば
自動的にC列の値も変わるというようにできますか?
やはりPHPなどのプログラムをかまさないとできないものでしょうか。
0406nobodyさん02/11/08 01:39ID:???
select A, B, A + B from hoge;
0407nobodyさん02/11/08 10:05ID:OADrmVQD
>>405
C列は不要。406のやり方でA+Bを取ってくればいい。
0408nobodyさん02/11/08 10:40ID:???
>>406
>>407
情報ありがとうございます。
例えばPHPで、そのA+Bを使用したい場合はどのようにすれば良いでしょうか?
フィールド名があれば、mysql_fetch_arrayを使用して
例えば、$a = $data['a']として扱えますよね。
でも、A+Bはフィールド名は無いですよね。
その場合は、mysql_fetch_rowを使用して、
$total = $data[2]と言うように設定して使用するべきでしょうか?
アドバイスお願いいたします。
0409nobodyさん02/11/08 15:15ID:???
YourSQL
0410渚02/11/08 17:22ID:???
>>408
SELECT a,b,a+b as c FROM hoge;
というようにasを使えばmysql_fetch_arrayでいけます。
お試しあれ。
0411nobodyさん02/11/10 18:52ID:???
The Cook, The Thief, His Wife and HerSQL
0412nobodyさん02/11/12 01:24ID:SsiSHuUc
405さんに似た質問なのですが、
列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:TeIlFbWy
select concat(A_col,B_col) as DATA1,count(*) as DATA2
from TABLE_1
group by DATA1 having DATA2 >=2
order by DATA2 desc
0414nobodyさん02/11/12 02:05ID:???
>>413
ありがとうございます、うまく結果を返せました!
0415nobodyさん02/11/12 14:59ID:???
初心者ですみません。
MySQLであるフィールドを全部取得し、
$sql = "select count from dataA
countフィールドの数字を合計したいと思い、
$reslut = array_sum (A,B,C,・・・) ; というのを調べてきたのですが、
$sqlを(A,B,C,・・・)というような配列にするのはどうしたらよいでしょうか?
教えて君でゴメンなさい。お願いします。
0416nobodyさん02/11/12 16:02ID:???
>>415
 なにも取り出して計算しなくてもです :)
SELECT SUM(count) FROM dataA
 で良いんでない?
0417nobodyさん02/11/13 00:29ID:???
>>416 さん
ありがとう!やってみます。
0418nobodyさん02/11/13 00:58ID:???
やってみましたが・・・ Resource id #2 でてくる(T_T)

$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:???
>>418
お、おまえ、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:???
>>419 さん
プログラム自体初めてに近いです。独学で試行錯誤で頑張ってます。
初心者にレスありがとうございます。
他の select 文は表示されるのですが、これは表示されないです。
■ このスレッドは過去ログ倉庫に格納されています