【PHP】下らねぇ質問はここに書き込みやがれpart18
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/03/15(水) 19:18:21ID:yiOrS10Nここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【PHP マニュアル】
http://www.php.net/manual/ja/
本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/
前スレ【PHP】下らねぇ質問はここに書き込みやがれpart17
http://pc8.2ch.net/test/read.cgi/php/1140786348/
過去スレは>>2-3あたり
0153152
2006/03/18(土) 18:21:05ID:???2行目
誤)CREATE DB test;
正)CREATE DATABASE test;
0154nobodyさん
2006/03/18(土) 18:22:01ID:???create table test(
title varchar(255) not null,
comment text not null,
index(title))
";
mysql_query( $query);
で普通にできる
0155152
2006/03/18(土) 18:26:40ID:???早速のご回答、ありがとうございます。
せっかく答えていただいて申し訳ないのですが、私がやりたいのは
複数の「;」を持つ命令を一度のmysql_query();で実行することなん
です。
質問が不適切でした。すみません。
0157152
2006/03/18(土) 23:24:52ID:???すみません。バカでした。
mysql_error()関数でエラーメッセージを取得できるので、
PHPのエラーではなくMySQLのエラーのようです。
$t = mysql_connect('localhost', 'root', 'root');
mysql_query('CREATE DATABASE test; USE test', $t);
print mysql_error();
You have an error in your SQL syntax near '; USE test' at line 1
0159nobodyさん
2006/03/19(日) 00:31:41ID:???INSERT命令とUPDATE命令で確認したんだけど、
どうやら最後のセミコロン以降のみ有効になるっぽいな。
SQL文を配列に突っ込んでfor文とかでぶん回せば良いんじゃないの?
0160nobodyさん
2006/03/19(日) 03:35:41ID:???頑張ろうぜええええええええええええええええええええええええええええ
0161nobodyさん
2006/03/19(日) 09:20:28ID:???仕様上無理では仕方ありませんね。あきらめて複数のmysql_query()で
実行することにしました。
ご回答、ありがとうございました。
>>159
アドバイスをもとにして、外部ファイルに記録した複数のSQL文を実行
する関数をつくってみました。
http://www2.nct9.ne.jp/dorayaki/mysql_queries.txt
mysql_query()の返り値が不要なときはこれを使うことにします。
ご回答ありがとうございました。
0162nobodyさん
2006/03/19(日) 10:21:19ID:???0163nobodyさん
2006/03/19(日) 10:36:12ID:???0164161
2006/03/19(日) 10:54:22ID:???mysql_select_db()を使ってもよかったのですが、ひとつのファイルに
まとめて記述したほうが説明がしやすかったので、そうしました。
0167nobodyさん
2006/03/19(日) 12:10:47ID:iOnFUS0Lこのスクリプトはどういう仕組みなのでしょうか。
クエリ情報を取得する方法はわかるのですが、これをimagejpeg()に応用するには
どうすればいいでしょうか?
0168nobodyさん
2006/03/19(日) 12:44:13ID:???これなんでforeachじゃなくて
array_maximum_key()で回数とって回してるんですか?
教えてエロいひと(><)
0169nobodyさん
2006/03/19(日) 13:15:57ID:???まずはお前さんが、リンクしたスクリプトのソースを提示するか
挙動から推察した仕様を提示。
つか"2ちゃんねる・ブログ板の「デザイン(構造も)がかっこいいblog」スレ"
のまとめサイトらしいから、そっちで作者に尋ねるのが先では?
0170nobodyさん
2006/03/19(日) 13:58:26ID:???何を間違えているのでしょうか
0173nobodyさん
2006/03/19(日) 14:13:55ID:???「〜という出力を期待したのだが、〜という結果に終わった。」
さらに言うと、何故そうなったのかという自分なりの考察が欲しい所だ。
てか、原因を考えてみて色々試行錯誤している筈だから、
その辺の話が出てこない筈は無いんだが。
0174nobodyさん
2006/03/19(日) 14:28:51ID:???>No syntax errors detected in test.php
特に間違いはないけど。
0175nobodyさん
2006/03/19(日) 14:33:19ID:???させようとしても上手く機能しない、という内容で、
前スレでもちょっと質問したんですが、
似たようなのを以下のページで見つけました。
なにか良い回避策はないでしょうか?
ttp://www.drive.ne.jp/iMA/showmail.pl?PHP-users=15468
0176nobodyさん
2006/03/19(日) 14:46:50ID:???検索キーワードを考えてみた。
「header mime session php」
phpのマニュアルのheader()のページのUser Contributed Notesに解決策が載ってた。
0177nobodyさん
2006/03/19(日) 14:58:02ID:???ブラウザにダウンロードログを出して、ダウンロードさせたいのですが、
どうすればいいでしょうか?
ftp_get()で一旦ローカルにおいて、それを
ダウンロードさせる方法なら簡単に実現できたのですが、
対象ファイルが大きいため、ローカルに置かずに直接
ダウンロードさせたいと考えています。
0178161
2006/03/19(日) 15:07:55ID:???私がお答えしませう。
foreachは配列に追加された順番で展開されるので、より正確に数値配列
のキーの順番で展開されるように、わざわざめんどくさいことをやってみ
ました。
0179nobodyさん
2006/03/19(日) 15:26:50ID:???どうすればよかとですか?
0184nobodyさん
2006/03/19(日) 16:36:29ID:owkIMffO<?php
print <<<EOM
<html><body>
<form action="test.php" method="POST">
<FONT size="-1">N:<input type="text" name="n" size="20"> C:<input type="text" name="c" size="20"> <input type="submit" value="書き込み"></FONT>
</form></body></html>
EOM;
?>
なんですが、Parse error: syntax error, unexpected $end in D:省略test.php on line 10
というエラーが出てしまいます。どうすればいいのでしょうか。
0185nobodyさん
2006/03/19(日) 16:41:53ID:???まるまるコピーして実行したけどエラーはでなかった。
もしかすると、文字コードの設定に問題ありかも。開発環境の
文字コードとphp.iniの文字コード設定をチェック。
0186nobodyさん
2006/03/19(日) 16:42:18ID:???0187nobodyさん
2006/03/19(日) 16:47:20ID:???ありがとうございます。
php.iniの設定いじってみます。
>>186
echoで<<<EOMのようにする場合はどのように書けばよろしいのでしょうか?
0188185
2006/03/19(日) 16:49:34ID:???php.iniの設定
mbstring.internal_encoding = SJIS <- Windowsのメモ帳で開発中なら
mbstring.http_input = auto
mbstring.http_output = SJIS <- Windowsのメモ帳で開発中なら
0190nobodyさん
2006/03/19(日) 17:09:19ID:???echo '
<html><body>
<form action="test.php" method="POST">
<FONT size="-1">N:<input type="text" name="n" size="20"> C:<input type="text" name="c" size="20"> <input type="submit" value="書き込み"></FONT>
</form></body></html>
';
と最初と最後を置き換えても問題ないわけで
0191nobodyさん
2006/03/19(日) 17:11:12ID:???いえいえ、ありがとうございます。
mbstring.internal_encoding = EUC-JP
;mbstring.http_input = auto
mbstring.http_output = UTF-8
になっていました。
しかし、直してみたのですがいぜんエラーのままです。
もう少し調べてみます。
0192nobodyさん
2006/03/19(日) 17:13:48ID:???多分反映されてないだけだと思います;
再起動して反映させてみます。
0193nobodyさん
2006/03/19(日) 17:24:08ID:???ありがとうございました。
ちなみに>>190さんのやり方だと表示されました。
0196nobodyさん
2006/03/19(日) 21:31:10ID:???print <<<EOM
<font>こんにちは。</font>
EOM;
?>
これでもエラー
Parse error: syntax error, unexpected $end in D:省略public_html\test.php on line 5
が出てしまいました。
php.iniの文字コードの部分はいじってみたのですが変化はありませんでした。
ぐぐってみたのですがよくわかりません。
何がおかしいのでしょうか…。
0197nobodyさん
2006/03/19(日) 21:32:03ID:???これ攻撃に使えるな(w
まず全部読み込んで、行数数えて、シークして読み直す。
あるいは1行何文字と固定長にして保存しといて、計算してシークして読む。
DB使った方がパフォーマンスは騰がる。
直接ダウンロードは無謀だな。
FTPが速くて、HTTPが遅かったら、メモリ食いつぶすよ。
ソース有るんだからmysql_query2()とか自分で作って、複数行の命令を一度に実行できるようにすればいいんじゃね?
複数エラー出た時に大変だろうけどね。
0199nobodyさん
2006/03/19(日) 21:58:07ID:owkIMffOはい。
EOM;の後ろには何もムダなものは入っていませんでした。
その他のところも問題ないと思います。
0201185
2006/03/19(日) 22:12:45ID:???2時間を費やしてそのミスに気がついたことがありましたが、そ
のへんはいかがでしょうか?
0202nobodyさん
2006/03/19(日) 22:13:26ID:???ここ参考
0203nobodyさん
2006/03/19(日) 22:14:04ID:???こっちだった^^;
0204nobodyさん
2006/03/19(日) 22:20:26ID:???問題ありませんでした。
>>200 , 203
なるほど。改行コードの種類でエラーが起きてしまう事があるのですね。
今私が使ってるEditerでは(EmEditer)改行の種類を変更することができるのかどうかよくわからないので
少し調べてみます。
0205nobodyさん
2006/03/19(日) 22:22:44ID:???-----------引用----------------
非常に重要なことですが、終端IDがある行には、セミコロン (;)以外の他の文字が含まれていてはならないこ とに注意してください。
これは、特にIDはインデントしてはならないと いうことと、セミコロンの前に空白やタブを付けてはいけないことを 意味します。
終端IDの前の最初の文字は、使用するオペレーティングシステ ムで定義された改行である必要があることにも注意を要します。
これは、例えば、Macintoshでは \rとなります。
http://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc
0206nobodyさん
2006/03/19(日) 22:23:23ID:???<?php
print <<<EOM
<font>こんにちは。</font>
EOM;
?>
のインデントを削除して見たところ正常に動作しました。
Editerが自動でインデントをやってくれるのでこれでいいものかと思っていたのがいけなかったみたいです。
皆様本当に申し訳ありませんでした。そして、ありがとうございました。
0207185
2006/03/19(日) 22:25:34ID:???私も原因が気になっていたので、解決してよかったです。そして、改行
コードの件も参考になりました。
ちなみにサクラエディタなら、改行コードを選べます。
http://members.at.infoseek.co.jp/sakura_editor/
0208nobodyさん
2006/03/19(日) 22:28:06ID:???FTPで転送してる場合テキストファイルの改行コードを変換してくれる場合もありますので
そこらへんも注意したほうがよかろうと思われますです。ではでは幸運を祈りまつ
0209nobodyさん
2006/03/19(日) 22:33:13ID:lnWnX+zlprint ("fooおk");
} elseif (isset ($_GET["hoge"]) and $_GET[["hoge"] == "bar") {
print ("barおk");
} else {
print ("エラーちゃん");
}
みたいにして、次のような予期せぬ要求があった場合「エラーちゃん」と出力
するにはどうすればよいでしょうか?
script.php?hoge=foo&hoge=bar
0212nobodyさん
2006/03/19(日) 22:47:14ID:???で$_GETを見てみた?barしか得られない
そのスクリプトだと
hoge=foo&hoge=abc なら、エラーちゃんにはなるな
$_SERVER["QUERY_STRING"]は hoge=foo&hoge=bar
になるのでコレを使ってなんとかせい
0213209
2006/03/19(日) 22:48:31ID:lnWnX+zlあ、上書きされてますた。
PHP(・∀・)イイ!
0214nobodyさん
2006/03/19(日) 23:30:27ID:QpTKRnhc\n ってどういう意味ですか。
0216nobodyさん
2006/03/20(月) 03:11:08ID:???かなり探したんですけれども見つかりませんでした・・orz
よろしくお願いします
0217nobodyさん
2006/03/20(月) 03:39:55ID:???0219nobodyさん
2006/03/20(月) 05:09:27ID:???単に検索するだけならmb_ereg()でいいんじゃ。
何をどう検索するんだ。
言っとくが、既存の完成されたプログラムを探して欲しいって話ならスレ違いっすよ。
0220nobodyさん
2006/03/20(月) 05:11:13ID:???0221nobodyさん
2006/03/20(月) 11:04:08ID:???メモ帳でPHP使って書いて保存するときに、
xxxxx.phpとしてもただのtxtファイルになってしまうんですが、
phpファイルってどのように作るんでしょうか?
0222nobodyさん
2006/03/20(月) 11:48:34ID:???PHPファイルってのは.phpという拡張子が付いてるだけのただのテキストファイルだがそういう意味ではなくて?
ただのtxtファイルってのはどういう意味で言ってる?
0223軟式PHP
2006/03/20(月) 11:50:46ID:???0224nobodyさん
2006/03/20(月) 11:53:35ID:???まぁいいんじゃね?たまにはこんな質問も。
0225nobodyさん
2006/03/20(月) 12:05:17ID:???0226nobodyさん
2006/03/20(月) 12:25:35ID:???これが正解だろう。
XP使ってるときは、フォルダオプションの表示の、
登録されている拡張子は表示しないをオフにする。
これでxxxx.php.txtになってるから、.txtを削ればphpの出来上がり。
もしくはFTPクライアントで名前の変更すればよし。
0227nobodyさん
2006/03/20(月) 12:27:27ID:???>>221
自分でpoor.php.txtをpoor.phpにリネームする。
もしくは保存時にファイルネームを
"poor.php"
のように""でくくる。すると.txtを勝手に付けるというおせっかいを防げる。
もっと良い解決策は、メモ帳で*.phpファイルを書かないことだ。
0228nobodyさん
2006/03/20(月) 12:49:55ID:???0229nobodyさん
2006/03/20(月) 13:03:47ID:???自分とこで試すと、別に"で括らなくても勝手に.txtの拡張子なんて付いたりしないんだが、
XP搭載のメモ帳ってその辺の仕様が変わってるんだっけ?
>>228
対応してる。
0232nobodyさん
2006/03/20(月) 13:13:00ID:???0233nobodyさん
2006/03/20(月) 14:26:33ID:CAF8GnmO0234nobodyさん
2006/03/20(月) 14:31:48ID:???if (! preg_match('/^[0-9\/]+$/', $val)) {
print 'エラーっす';
}
0235nobodyさん
2006/03/20(月) 14:32:52ID:CAF8GnmOありがとうございます。
0236nobodyさん
2006/03/20(月) 14:33:05ID:???でもよか?
0241nobodyさん
2006/03/20(月) 14:44:03ID:???print 'エラーっす';
}
のほうが早くは無いか
0242nobodyさん
2006/03/20(月) 14:45:10ID:???一般的に、パラメータがn桁以下の数値かどうかを判断するのに、
正規表現で /^\d{1, n}$/
とするのと、
strlen + is_numeric
を使うのと、どちらがパフォーマンスよいでしょうか?
桁数は、極端に大きな桁数はなく、せいぜい6桁〜10桁程度です。
0243nobodyさん
2006/03/20(月) 14:54:22ID:???if ($var < pow(10 , $n)) {
print 'ちいせーよ';
}
でいいのでは
0244nobodyさん
2006/03/20(月) 14:55:08ID:???0246nobodyさん
2006/03/20(月) 15:42:59ID:CAF8GnmOよろしくお願いします。
0248nobodyさん
2006/03/20(月) 15:59:07ID:CAF8GnmOありがとうございます。
0249nobodyさん
2006/03/20(月) 16:04:45ID:???0250nobodyさん
2006/03/20(月) 16:08:25ID:???頼めばできるかもしれません。
それから、ソースを無料で配布しているサイトもありますよ。
http://php.s3.to/
とか。
0251nobodyさん
2006/03/20(月) 16:41:27ID:???sql select結果を取得して、結果があれば処理をする場合
if(mysql_num_rows($result)>0)
{ $hoge=mysql_result($result,0,0); }
とするのと
if($list=mysql_fetch_array($result))
{ $hoge=$list[0]; }
とするのとどちらがよいと思われますか?
■ このスレッドは過去ログ倉庫に格納されています