mysql ヘルプ!
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
02/01/22 16:08ID:kMbsTQE3状況を詳しく書きます
PHPが動くプロバイダーのディレクトリにおいた自分の家の
mysqlサーバを操作するPHPに
$db = mysql_connect("mysqlサーバのip:3306","ゆーざ","ぱす");
と書いたのですが、駄目でした。
どうすればいいのでしょうか?
0772nobodyさん
04/11/19 09:25:47ID:???MySQLはドス上で見ないほうがいいです
>>769
まったく同じ質問を前に見たぞ。>>686 だ。回答は >>691
0774nobodyさん
04/11/25 17:09:19ID:???mysql -H < select.sql > result.html
start result.html
としてブラウザから見る派。
0775nobodyさん
04/11/26 13:19:37ID:???0776nobodyさん
04/11/26 13:20:14ID:???0777nobodyさん
04/11/26 17:08:56ID:LVzAOA0n次の様な内容で"sample"という名のテーブルの複合キーを定義しました。
//---------------------------------------------------
create table sample (
A varchar,
B integer,
primary key(A, B)
);
//---------------------------------------------------
それでこの複合キーを変更(削除)したいので
"alter table sample drop primary key(A, B);"
を発行してみたのですがエラーになってしまいます。
どなたか正式な複合キーの削除方法を教えて頂けないでしょうか?
よろしくお願いします。
0778nobodyさん
04/11/26 17:26:59ID:???0779nobodyさん
04/11/26 18:01:24ID:LVzAOA0nエラー内容を貼り付けます。
alter table sample drop primary key(A, B);
→ERROR 1064: You have an error in your SQL syntax near '(A, B)' at line 1
またCREATE TABLEのSQL文も間違っていました。
正式なSQLは次の通りです(すみません) 。
create table sam(
A varchar(10) not null,
B int not null,
primary key(A, B)
);
よろしくお願いします。
0780nobodyさん
04/11/26 18:06:03ID:???0781nobodyさん
04/11/26 18:07:52ID:LVzAOA0ncreate tableのテーブル名は"sam"ではなく"sample"です(すみません...)。
かねやんでアドミン設定・新規ユーザー作っても
LOCK TABLES権限ないじゃんか!!!
1時間悩んだじゃないか〜〜ばかぁ〜
0784NAME IS NULL
04/11/27 12:24:15ID:???通常はデーモンを起動すれば大丈夫です。
% safe_mysqld &
0785nobodyさん
04/11/28 11:07:21ID:???この場合、「あるイニングでの先頭打者」を検索することは可能でしょうか?
不可能であれば、どのような情報を追加すればよいでしょうか?
先頭打者かどうかは、アウト数を別に作って3の次とするか
すればいいんじゃ?
成績とリンクさせるなら、三振→アウト数+1
セカンドゴロ→アウト数+1と1つずつ作っていけばいいんじゃ?
良く分からないけど。
0788nobodyさん
04/11/29 02:38:21ID:???まあ好きにやれや
0789nobodyさん
04/11/29 10:39:50ID:???0790nobodyさん
04/11/29 14:40:43ID:???コールドの時は…
代打、代走、リリーフ…
一打席に複数のバッターが出たら…
盗塁死、牽制死はどうする…
FC、エラー…
投球内容とかいらんのか…
ってな辺りを考えてからの話だろ、というか野球のルールの話だろ、これ…
0791nobodyさん
04/11/29 23:37:27ID:???「選手」「日時」と合わせてこれらが主キーになるのかな。
0793nobodyさん
04/11/30 23:28:06ID:IAxT8j7Aブーリアン値は
ENUMのYとNにするしかないのでしょうか?
0794nobodyさん
04/12/01 00:12:29ID:???0795nobodyさん
04/12/01 15:48:05ID:???中身はTYNYINT(1)だが
0797nobodyさん
04/12/06 10:53:00ID:???webページデータとDBも含めて、使用できるHDD容量をwebページ上に表示させたいんです。
0800nobodyさん
04/12/06 11:40:10ID:???0801nobodyさん
04/12/06 12:17:17ID:???0802797
04/12/06 13:10:54ID:???ありがとうございます。
0803nobodyさん
04/12/06 21:07:12ID:???日中などは大丈夫なのですが、夜になってアクセスが多くなると
DBの接続エラーが多発してしまいます。
$linkid = mysql_connect(host,name,pass);
if(!$linkid)
{
echo "MySQL接続失敗";
exit();
}
こんな感じので、接続失敗が多発します。
何を直せば接続エラーを無くすことができるのでしょうか?
0805nobodyさん
04/12/06 23:13:29ID:???・アクセス量を日中と同程度に抑える。
・もう少しコネクションに余裕のあるサーバ/サービスに移行する。
・自分の管理下にあるサーバならmysql定義ファイルのコネクション上限を見直す。
場合によってはマシンスペックを上げる
0806803
04/12/07 12:56:03ID:???レスありがとうございます
サーバースペックなんですが、
OS:win2003server
メモリ:1G
CPU:P4-2.4G
です。
レンタルですが専用サーバーを使っています。
SQLdは、自分なりに値だけ大きく変更してみてるんですが、
エラーは消えないんです。
table_cache = 10000
max_connections = 50000
max_user_connections = 20000
など…やり過ぎですかね…
PHPのプログラミング方法によってもエラーがでたりとかするんでしょうか?
0808nobodyさん
04/12/08 16:29:57ID:???何か制限などあるんでしょうか?
0810803
04/12/08 18:58:45ID:???そこを見ればいいのでしょうか…(すいません
0811803
04/12/08 19:00:30ID:???mysqldのエラーログというのは、
どこを見ればいいのでしょうか…
0812nobodyさん
04/12/09 15:32:33ID:fa9vd1ze起動するたびに立ち上がって染まします。
0815nobodyさん
04/12/20 07:25:09ID:FA8OSGsZPHPからMySQLへのアクセスができません。
エラーメッセージは
mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in
となっています。
環境
WindowsXP
PHP4.3
MySQL4.1.8
Apache1.3
文字コードはMySQL以外はShift-JISにしています。
MySQLはインストールしてrootのパスを決めた以外は変更していません。
コマンドラインからのroot権限でのアクセスはできています。
0816nobodyさん
04/12/20 09:31:17ID:???PHP4.3.9以前はMySQL4.0とMySQL4.1のライブラリが別になってるんだよ(4.3.10では一緒になったらしい)
libmysqli.dllをシステムディレクトリにコピー
0817nobodyさん
04/12/20 16:48:07ID:???http://dev.mysql.com/doc/mysql/ja/Password_hashing.html
に該当。
でもこういうところに気が付かない(読まない)人は、
質問が出た時点で、回答としては「暫くMySQL4.0.x使っとけ」
とするのが現時点では最も正しい答えなのかも。
MySQl4.1.x使うなら、常に情報の入手に気を配れ。
0819nobodyさん
05/01/01 08:13:01ID:QrQCkT/aコマンドラインで
select count(*) form bbs_table;
と実行するとちゃんと「11」という結果が返ってくるのですが
PHPでmysql_query($sql, $conn);と実行すると
なぜか「8」(Resource id #8)と返って来ます。
当然同じデータベース・同じテーブルでやっているのですがどうしてでしょうか?
0820nobodyさん
05/01/01 09:17:19ID:QrQCkT/a$result = mysql_query("select count(*) from bbs_table");
$row = mysql_fetch_row($resutl);
print($row[0]);で「11」と表示されました。
これで私の思っている通りの結果にはなりましたが
データベースのカラム数(掲示板で言うとレス数)を求めるには上記の処理で合っているでしょうか?
0821nobodyさん
05/01/01 16:41:48ID:???> なぜか「8」(Resource id #8)と返って来ます。
この8というのはリソースのIDのことだよって書いてあるのに
何で件数だと思ったのか、こっちが聞きたいくらいですから。
残念!
0822nobodyさん
05/01/02 17:22:22ID:MfYqAlNXPHPで使っているのですが、他のDBでも使えるようにif ( $a )の形式でチェックできるように
したいのですが、ENUM('true','false')だとチェック時にif( $a == 'true' )のように
文字列比較をしなくてはならないのでTINYINTで0か1が良いのかとか色々と考えています。
もちろんこれでやればできるのですが、経験豊富な方に伺いたいと思いましてどうかよろしくお願い致します
0825822
05/01/05 00:15:38ID:???ありがとうございましたm(__)m
0826nobodyさん
05/01/05 14:47:11ID:???java側からはMySQLに、UnicodeをShift-JISに変換して書き込めるのですが
MySQL側からデータをJava側に読み込むとShift-JISからUnicodeに変換
されずに、文字化けしてしまいます。
データを書き込めるのですが、それを読むと文字化けしてしまう状況です。
一応、JDBCドライバを呼び出す時は
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=sjis
&mysqlEncoding=sjis
とし、
my.iniにも
default-character-set=sjis
と記述しています。
それでも文字化けしてしまうのです。
無事に変換できて文字化けしないようにするにはどうすればよいのか
でどうか対処法を教えてくださいませ。
0827nobodyさん
05/01/08 07:40:40ID:???テーブルfreemailの中は空。
$mailにはフォームから登録したメールアドレスが入ってるとし、仮にaa@bbとします。
$str_mail=strstr("$mail","@");
$str2=mysql_escape_string($str_mail);
$rs=mysql_query("select * from freemail where freemail='$str2'");
$res=mysql_fetch_array($rs);
$f_res=$res['freemail'];
この状態で
$str_mail、$str、$f_resをそれぞれprint文で出力すると。
全部が同じ出力になる…この場合@bbになるとしたら、原因は何処にありますか?
これは判定だけで、テーブルfreemailに追加はしてないです。
0828nobodyさん
05/01/08 07:42:35ID:???print文で出力するのは
$str_mail
$str2
$f_res
です。
0829nobodyさん
05/01/08 12:23:13ID:???0830nobodyさん
05/01/15 00:33:23ID:NZnuK1eg直接PHPファイルに書くのに抵抗があります。
聞く話によるとMD5ハッシュ化したパスワードで接続することが出来るらしいのですが、
検索してもやり方がわかりませんでした。
どのようにすればMD5ハッシュ化したパスワードで接続できるのでしょうか。
0831nobodyさん
05/01/15 08:45:26ID:???ハッシュ化したパスワードで接続できるほうが危ないと思うんだけど。
ハッシュはサーバのどこかに保存されてるので見られる可能性がある
生パスはサーバには無いので絶対に見られない
0832nobodyさん
05/01/15 10:54:23ID:NZnuK1eg共用鯖でmod_php利用なのでアクセス権を604としなければならなく、
同じ鯖の人から見ようと思えばphpの内容が観覧できてしまいます。
なので、生パスワードをphpに記載するほうが怖いんですが・・・
0833nobodyさん
05/01/15 11:46:39ID:???生だろうがハッシュだろうが、スクリプトに記述してしまうならいっしょ。
mod_phpならsafe-modeの制限に頼るしかない。
0835nobodyさん
05/01/15 12:39:43ID:???照合する側がハッシュで照合してるならともかく
(MySQLサーバ側は確かにそうしてるが)
PHPのスクリプトでMySQLにアクセスする部分のパスワードを
どこぞに列挙するなら、それが生だろうがハッシュ化されてようが
普通にパスワードとして使えるのだから一緒でしょ。
列挙するパスワードをどこか他の認証と共用してるシステムなら
共用してる部分については「生パス抜けない」ということになるけど。
0836nobodyさん
05/01/15 21:33:17ID:???0837nobodyさん
05/01/16 01:46:09ID:???そうだね。
でも複合できるかどうかは関係ない、てことが分かってないようで・・
そんなに気になるなら CGI で 600 で動かせばいいじゃん。
0838nobodyさん
05/01/18 03:47:13ID:KC0Yllm6mysqlのBLOBにバイナリデータを入れる時は、
普通にmysql_escape_string()しておくだけで問題ないのでしょうか?
なんとなくおかしなクエリになってしまうケースがありそうで恐いのですが…
0839nobodyさん
05/01/18 11:58:44ID:4Eo/wmNT自動的に(人間がmysqlを立ち上げないで)データベースとその中のテーブルを作る手っ取り早い方法はどんなものでしょうか?
もちろんデータベース名、テーブル名とそのフィールドは固定です。
0841nobodyさん
05/01/19 21:46:19ID:JHcmHOhC単純に思いつくのは
・SELECTで値が入っているかどうかを調べる
入っていない場合 -> INSERT
入っている場合 -> UPDATE
のように2回クエリを送らなくてはならないため、もう少し良い方法があればと思いまして
ご存知の方がいらっしゃいましたらどうかよろしくお願い致します。
0842nobodyさん
05/01/19 21:56:32ID:???但し
内部的には
DELETE→INSERT
だからunique制約とかprimaryの制約がないとだめだけど。
0843842
05/01/19 22:00:53ID:???ありがとうございました
0844nobodyさん
05/01/21 11:23:46ID:Z6ezIjZ/bluequartz上でC/C++ CGIがどうしても動かせなくて困ってます。
gcc バージョン 3.3.2 20031022 (Red Hat Linux 3.3.2-1)
コンパイルしたファイル(xxx.cgi)はコマンドラインからはちゃんと動くのですが、
これをブラウザから見ると、 「 xxx.cgi このファイルをダウンロードしますか?」となります。
もちろんapacheはちゃんと動いています。
これを回避してブラウザから
xxx.cgiの出力を見るようにするにはどこを変更すればよいのでしょうか
0848ぐぐっても見つけられんかった
05/01/28 21:12:40ID:ox6Cyfvr考えられる原因は何でしょうか。。。
0850nobodyさん
05/01/28 22:12:48ID:???Error#1046,ER_NO_DB_ERROR,No Database Selected,データベースが選択されていません.
0851nobodyさん
05/01/29 12:52:05ID:???−−−環境−−−
OS:windows2000 Pro
DB:mysql 4.1
PHP:5.0.3 SJIS設定
MyAdmin:2.6.1
サーバー:IIS
DocRoot:D:\WEB
MyAdminの設定で Language を japanease に設定をすると
Fatal error: Call to undefined function PMA_reloadNavigation() in D:\WEB\CGI_BIN\phpMyAdmin\header.inc.php on line 132
のメッセージが表示されます
他の言語に設定するとエラーは発生しません
インクルードファイルの読み込み出来ていないのかと思ってファイルの最後に
echoを書いてチェックしてみると読み込みは出来ています
テーブルを追加する最にコメントに日本語が入っていると
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in D:\WEB\CGI_BIN\phpMyAdmin\libraries\string.lib.php on line 112
のエラーも表示されます
どのように設定したらいいか教えてください
都合で今はIISしか使えない状況です
0852nobodyさん
05/01/31 00:03:31ID:BLcpMt62"'() の文字を使ってるのを修正する場合、どうすればいいのでしょうか。
set password for root="'()('newpassword');
でできないっす
0853EK
05/01/31 00:04:33ID:pCNLnhtEmySQLで
| name | tel | email |
-----------------
| hoge | 090 | [email protected]|
| moe | 090 | [email protected]|
| are | 080 | [email protected]|
.....
とかの構造を,
| tel | name | email |
-----------------
| 090 | hoge | [email protected]|
| 090 | moe | [email protected]|
| 080 | are | [email protected]|
.....
に変更するにはどのようにすればいいのでしょう?
0855EK
05/01/31 08:49:37ID:abXFv+ha0857nobodyさん
05/02/01 06:06:35ID:Ous9jt79コマンドプロンプトから2バイト文字のデータを入れると文字化けします。
jspを使ってブラウザからsjisで入れたり出したりする分には
いまのところ正しくできてるっぽいのですが、
そのデータをコマンドプロンプトでみるとやはり文字化けしてます。
4.0を使ってるときはコマンドプロンプトで出し入れするのも
データを見るのも文字化けせず大丈夫だったんですが、
何がいけないのでしょうか?直す方法はありますでしょうか。
0858857
05/02/01 06:50:26ID:Ous9jt790860nobodyさん
05/02/01 08:56:41ID:???+--+--------+-----+
| id | name | price |
+--+--------+-----+
| 01 | hoge | 100 |
| 02 | fuga | 200 |
| 03| puni | 200 |
| 04 | hage | 100 |
……
ここで、価格:100(2件)〜200(2件)というように
最低価格、最高価格とその件数を導きたいのですが、
どのようなクエリをかけばよろしいでしょうか。
今はMAX()とMIN()で最大・最小値は求められるのですが
その件数が上手く求められないのです。
よろしくお願いいたします。
0862nobodyさん
05/02/01 15:17:47ID:???これを計算してみると 0.10 0.10 と2つ等しい結果が得られるのですが、
SELECT * FROM `table` WHERE ( bin(6) / bin(4) ) - ( FLOOR(bin(6) / bin(4) ) ) = ( bin(2) / bin(4) ) - ( FLOOR(bin(2) / bin(4) ) )
というふうにWHEREにした時だけ何故か等しくならず、テーブルの中身が全く表示されません。
これはSQLのバグでしょうか?それとも何か間違っているのでしょうか?
2進法計算で込み入っていて申し訳ないのですが、どなたかご存知でしたら教えて下さい。
0863857
05/02/01 17:25:28ID:Ous9jt79my.iniをsjis設定にしてもかわらず。
コマンドプロンプト立ち上げるたびに「set names sjis;」するしか
ないのでしょうか。
0864nobodyさん
05/02/01 19:40:16ID:???いや、それは面倒くさいやろ。
クライアントライブラリのエンコードを自分の欲しいものに
きちんと指定して再度コンパイルでOK。
0865nobodyさん
05/02/02 04:43:23ID:???そうですか。それはちょっと敷居が高い…
とりあえずブラウザから使う分には問題なさそうだから余裕ができたらチャレンジします。
ありがとうございました。
0866nobodyさん
05/02/02 05:05:35ID:TSxm2UhNchar(16)のカラムを作ろうとしてもvarchar(16)になりますが
何故でしょうか?
0868nobodyさん
05/02/04 00:22:56ID:FzOGXEjcphpmyadminをいれて、接続したら真っ白な表示がされるだけです。
どのあたりを見ればいいのでしょうか?
0870nobodyさん
05/02/04 00:35:52ID:FzOGXEjc■ このスレッドは過去ログ倉庫に格納されています