PHP + MySQL
■ このスレッドは過去ログ倉庫に格納されています
0001ECY
NGNG0586580
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の新規作成や、削除、選択が可能。
�B�Aで選択した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:???■ このスレッドは過去ログ倉庫に格納されています