【PHP】下らねぇ質問はID出して書き込みやがれ 104
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/02/14(月) 16:45:59ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0017。
2011/02/15(火) 13:39:42ID:???いろいろなレベルや種類の回答が考えられますので、下記を見てわからないことがあればまたお知らせください。
http://www.google.co.jp/search?q=PHP+%E3%83%A1%E3%83%BC%E3%83%AB%E3%80%80%E3%82%A8%E3%83%A9%E3%83%BC&hl=ja&ie=UTF-8
0018nobodyさん
2011/02/15(火) 13:41:21ID:???0019nobodyさん
2011/02/15(火) 13:41:24ID:???0020nobodyさん
2011/02/15(火) 13:42:47ID:???0021nobodyさん
2011/02/15(火) 13:50:48ID:???http://hibari.2ch.net/test/read.cgi/php/1295956018/
999 :nobodyさん:2011/02/15(火) 13:18:49 ID:???
こいつ池沼です↓
1000 :nobodyさん:2011/02/15(火) 13:38:36 ID:???
次スレは私が立てます
荒らしの立てたスレは認めません
0022nobodyさん
2011/02/15(火) 13:52:26ID:???ワロタ
0023nobodyさん
2011/02/15(火) 13:58:25ID:???0025nobodyさん
2011/02/15(火) 14:08:29ID:???0026nobodyさん
2011/02/15(火) 14:14:06ID:???002716
2011/02/15(火) 14:21:02ID:Y8oJIAFrmail()は実際にはsendmailを使って送信しているというのでsendmailと書きました。
mail()ではエラーは見れないと考えてもよいのでしょうか。
0028nobodyさん
2011/02/15(火) 14:26:52ID:???http://php.net/manual/ja/function.mail.php
>返り値
>メール送信が受け入れられた場合に TRUE 、それ以外の場合に FALSE を返します。
>メールの配送が受け入れられたかどうかが基準であることに注意しましょう。 メールが実際にあて先に届いたかどうかでは「ありません」。
0030nobodyさん
2011/02/15(火) 14:31:26ID:???sendmailがPHPの関数だとは>>16も>>27も書いてないだろ
その上>>27には
>mail()は実際にはsendmailを使って送信しているというのでsendmailと書きました。
とも書いてある。お前理解力なさすぎ
0031nobodyさん
2011/02/15(火) 14:37:21ID:???誰が歯ブラシの本なんて読みたがります?
0032nobodyさん
2011/02/15(火) 14:39:22ID:???>mail()ではエラーは見れないと考えてもよいのでしょうか。
はい、よいです
mail()の実装は知らないけど本当にsendmailで送ってるなら
sendmailのログを解析すればよいです、はい
0034nobodyさん
2011/02/15(火) 14:43:54ID:???ホンモノのプログラマは、「動いてるように見えるけど、メモリリーク
だらけじゃないか。直す必要があるかもね」なんて言うでしょう?僕なら、
10リクエストごとにApacheを再起動しますね。
0035nobodyさん
2011/02/15(火) 14:47:59ID:???ホンモノのアナニストは、「挿してるように見えるけど、綿棒ばかり
じゃないか。きゅうりにする必要があるかもね」なんて言うでしょう?
僕なら、10本まとめて綿棒を挿入しますね。
0036nobodyさん
2011/02/15(火) 15:36:33ID:???sendmailがPHPの関数だとは誰も言っていない 俺も言ってない 聞いただけ
お前こそ読解力が無いのではないか
あぁ 中学生ですか では仕方がありませんね
>>33
自分のカス加減を棚にあげて 他人を卑下するなんて
PHPer社会人の風上には置けませんね
0037nobodyさん
2011/02/15(火) 15:41:19ID:???【PHPのバージョン】5.2.5
【Mysqlのバージョン】5.1.22
【テーブルのタイプ】InnoDB
MDB2でDBへアクセスしています。
トランザクションを開始して、ロールバック・コミットの操作をしたいのですが
接続・SQLの実行はできますがロールバックがうまくできません。
原因がわかる方がいましたらご教授ください。
以下、テストとして作動させているソースです。
//dsnの生成
$dsn = 'mysql://*** : *** @ *** / ***";
$option = array('use_transactions' => true);
// MySQLへ接続
$mdb2 = MDB2::connect($dsn, $option);
$mdb2->beginTransaction();
$mdb2->loadModule('Extended');
//クエリの実行
$res = $mdb2->extended->autoExecute("USER_TBL", array('USER_REGIST_FLG' => 1), MDB2_AUTOQUERY_UPDATE, "USER_NO = 1", array('integer'));
$res = $mdb2->extended->autoExecute("USER_TBL", array('USER_ADMIN_FLG' => 1), MDB2_AUTOQUERY_UPDATE, "USER_NO = 1", array('integer'));
$res = $mdb2->extended->autoExecute("USER_TBL", array('USER_DELETE_FLG' => 1), MDB2_AUTOQUERY_UPDATE, "USER_NO = 1", array('integer'));
$mdb2->rollback();
echo("終了");
003837
2011/02/15(火) 15:42:32ID:Ta3hU+9tID出すのを忘れていました。
0040nobodyさん
2011/02/15(火) 16:07:43ID:???>sendmailなんて関数あったか?
>sendmailなんて関数あったか?
>sendmailなんて関数あったか?
>sendmailなんて関数あったか?
誰が読んでもsendmailを関数だと勘違いしてるのは明らかなわけだが
0042nobodyさん
2011/02/15(火) 16:22:59ID:???誰へのレスかは明記しないけど
0043nobodyさん
2011/02/15(火) 16:31:18ID:???決め付けはよくないと 思います学校でならわなかったか?
私がいつ誤解しましたか 何時何分何秒ですか
出るところに出てもいいぞ
> 中学生でもお前よりは読解力あるよね
あんたが中学生?厨房ということは よくわかった
だからもう引っ込め カス
0047nobodyさん
2011/02/15(火) 16:36:55ID:???日本語には句読点というものがあるんだよ。今通ってる小学校で
習ったでしょう?
大切なことだからちゃんと覚えておこおうね
0048nobodyさん
2011/02/15(火) 16:38:13ID:Ta3hU+9tはい、その通りです。
更新されてしまいます。
0049nobodyさん
2011/02/15(火) 16:41:10ID:hHfehwNIあと池沼ね
>それがどうあkしましたか
日本語でおk
0050nobodyさん
2011/02/15(火) 16:42:33ID:???0051nobodyさん
2011/02/15(火) 16:43:22ID:???この区切り方w
ガチの池沼に遭遇したのは久しぶりだわ
0052。
2011/02/15(火) 16:46:02ID:???そのサンプルでは問題ないように見えますが、
http://www.ilovex.co.jp/blog/system/projectandsystemdevelopment/pearmdb2mysql.html
のようなことが起きているのかもしれません。
0053nobodyさん
2011/02/15(火) 16:47:37ID:???意味がわかりません、句読点くらいしっています、バカですか
0054nobodyさん
2011/02/15(火) 16:47:54ID:???はいはい。興奮しないようにね。入力が遅いことは全然恥ずかしいことじゃないからね
今度は「せいしんてき」を漢字で書けるように頑張ろうな
先生も応援してるからな
0056nobodyさん
2011/02/15(火) 16:53:00ID:???9いやらしいですね 変体ですかあなたは
0057nobodyさん
2011/02/15(火) 16:54:37ID:???そういう 根拠のないこと を描くなら
本当に 出るところに出てもいいんだぞ0
005937
2011/02/15(火) 16:57:18ID:Ta3hU+9tありがとうございます。
参考のURLを見ました。
URL先の方はMDB2のソースを直接編集していらっしゃいますが
レンタル鯖でありますので、おそらく直接編集ができないと思い
トランザクションの開始と、ロールバック、コミットについては
MDB2のメソッドを使わずに、SQLを直接実行させてみました。
//$mdb2->beginTransaction();
$mdb2->query("START TRANSACTION;");
//$mdb2->rollback();
$mdb2->query("ROLLBACK;");
のように、それぞれを修正しました。
結果、思った通りの動作をしてくれました。
本当にありがとうございました。
心より感謝致します。
0060nobodyさん
2011/02/15(火) 17:01:43ID:???このスレでは定期的にあることだから気にしないけどなw
0061nobodyさん
2011/02/15(火) 17:04:18ID:???こんなにレベルの低い人達しかいないなんて がっかりです、
37の答えだって本当は教えてあげてもよかったんだが
こういうあつかいを、されるなら考え直します
0063nobodyさん
2011/02/15(火) 17:06:25ID:???なんか差別語みたいですが
そういうのって使っちゃいけないと教わったんですが
あんたらほんとうに大人?
0067nobodyさん
2011/02/15(火) 17:14:37ID:???最初から全部大根役者だったんじゃね?
0068nobodyさん
2011/02/15(火) 17:22:08ID:???よくわかったな。前スレの終盤からここまで俺が
PC+スマホ+αを駆使して暇人を釣ってたんだよw
ちなみに+αは、俺の部屋で世紀末リーダー伝たけし!を読みながら
参戦した友人のK君ね
「お前が一番暇だろwww」っていうレスは受け付けないのであしからず
0070nobodyさん
2011/02/15(火) 19:45:26ID:???007170
2011/02/15(火) 19:49:31ID:???が恥をかくことになっちゃうけど
0072nobodyさん
2011/02/15(火) 20:44:41ID:???0073nobodyさん
2011/02/15(火) 21:23:29ID:???0074nobodyさん
2011/02/15(火) 22:09:48ID:???0075nobodyさん
2011/02/15(火) 23:19:58ID:Z0gRK6Gz$sth = $pdo->prepare("SELECT col_1,col_2 FROM hoge");
$sth->execute();
$result_1 = $sth->fetchALL(PDO::FETCH_COLUMN, 0);
$result_2 = $sth->fetchALL(PDO::FETCH_COLUMN, 1);
とやると
$result_1はちゃんと配列が取れますが
$result_2は何もありません
カーソルが最後まで行ったからかと思うのですが
どうすれば$result_2にも配列を取れるでしょうか
これを書き足して新スレを立ててくださいね。
$result_2にも配列を欲しがる理由を教えてください。
0078nobodyさん
2011/02/16(水) 02:30:55ID:???PDOにはmysql_data_seekみたいな機能は無さそうだから無理っぽいね
普通に考えると、そういうときは
$result = $sth->fetchALL();
として、
$result_1に相当する部分は$result[n][0]で、
$result_2に相当する部分は$result[n][1]でアクセスするべきだと思う
0079nobodyさん
2011/02/16(水) 08:04:38ID:???> $result_1はちゃんと配列が取れますが
申し訳ないが、$sth->fetchALL直後の$result_1と$result_2をvar_dumpした結果を教えてくれないか?
0081。
2011/02/16(水) 12:24:32ID:???$result_2 = $sth->fetchALL(PDO::FETCH_COLUMN, 1);
の前でもう一回
$sth->execute();
を実行して下さい。
008275
2011/02/16(水) 12:47:11ID:???釣りって言葉はありえなくね
ということで
var_dumpすると$result_2は空でした
再度executeするよりは二次元配列から取り出す方がいいかな
それでやってみます
ありがとうございました
0083nobodyさん
2011/02/16(水) 13:12:31ID:bzYdcF36$int = $_REQUEST[int];
$caption = $value->item[$int]->title;
では表示されず、
$int = "0";
$caption = $value->item[$int]->title;
でなら表示されるという不具合に悩まされています。
$int = $_REQUEST[int];
echo $int;
とすると数字が 1 などと表示されるのですが
$caption = $value->item[$int]->title;
では表示されません。
何故でしょうか?
0084nobodyさん
2011/02/16(水) 13:13:37ID:???0085nobodyさん
2011/02/16(水) 13:30:24ID:???0087。
2011/02/16(水) 13:34:59ID:???0089。
2011/02/16(水) 13:42:50ID:???Notice: はでるけど $_REQUEST[int]; でも ?int=1 で 1が取れるんだよな。
まず、 var_dump( $value->item ) を確認してください。
itemに 0はあるけど 1ないとかそういう単純な話かも。
0091nobodyさん
2011/02/16(水) 15:56:11ID:???/ ,――――-ミ
/ / / \ |
| / ,(・) (・) |
(6 つ |
| ___ | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| /__/ / < なわけねぇだろ!
/| /\ \__________
009283
2011/02/16(水) 17:10:14ID:bzYdcF36item[1]などはちゃんとあるのですが
$_REQUEST[int]からだと表示されません。
GETで値を渡しているのですがもっといい方法があるんでしょうか。
0093nobodyさん
2011/02/16(水) 17:32:14ID:???0094nobodyさん
2011/02/16(水) 17:32:22ID:0JcE1KEJ【PHPのバージョン】5.1
【連携ソフトウェア】無し
【質問内容】 正規表現でマッチした(<title>〜</title>)以外の所の置き換えをしたいのですが判定方法をどうすればいいか考えてます。
$text = "hogehoge<title>title</title>mogemoge";
このhogehogeやmogemogeにあたる部分のみを置き換えしたいのですが方策が思いつかず困ってます。
流れとしてどうすればいいかアドバイスもらえないでしょうか。
009583
2011/02/16(水) 17:33:32ID:bzYdcF36009783
2011/02/16(水) 17:46:35ID:bzYdcF36しかし、試しに
$int = $_GET[int];
$int = $int+1;
こうしてみると$caption = $value->item[$int]->title;が表示されます。
これはどういう事でしょうか。
009883
2011/02/16(水) 17:49:13ID:bzYdcF36$int = $int+1;
$int = $int-1;
これで表示されるのでとりあえずこれで行ってみます。
しかし激しく格好わるいですね。
009994
2011/02/16(水) 17:59:12ID:0JcE1KEJありがとうございます。
preg_split("/\<title\>(.*?)\<\/title\>/", $text)
としてhogehogemogemogeを取り出す事は出来たんですが、置き換え後にどう元に戻せばいいのかと考えてます。
作業前:hogehoge<title>title</title>mogemoge
を置き換えて
作業後:example<title>title</title>example
としたいわけです。
preg_splitで取り出してpreg_replaceで置き換えたあとにどうすれば作業後の結果に戻せるのか方策が思いつかないです・・・。
0100nobodyさん
2011/02/16(水) 18:01:48ID:vtmLK1PS$query = mysql_query($sql);
このようなSQL文のクエリからmysql_fetch_name($query,0)のようにして
フィールド名を取得しようとしたのですが、ASで変換している箇所は取得できません。
どうやって変更したフィールド名を取得すればいいのでしょうか?
0101nobodyさん
2011/02/16(水) 18:09:32ID:???コードがミスっていました。スレ汚しすみません。
0102。
2011/02/16(水) 18:37:04ID:???$text = preg_replace( "/.*(?=<title>)/", "前",$text,1);
$text = preg_replace( "/(?<=<\/title>).*/", "後",$text,1);
0104nobodyさん
2011/02/16(水) 19:11:33ID:xv6q7uMH【PHPのバージョン】5.1.6
ob_get_level()でレベルを取得すると2となります。
クライアントに即座にデータをおくりたいのですが、
ob_get_level()で1がかえってくるようにするには
どのようにすればよろしいでようか?
0105nobodyさん
2011/02/16(水) 19:12:24ID:???試してないけど
preg_replace("/\<title\>(.*?)\<\/title\>/", "example<title>$1</title>example" , $text)
0110nobodyさん
2011/02/16(水) 19:24:14ID:???ob_get_levelの意味はわかってるよね
ob_startを2回したからネストレベルが2になったんだろ
ob_end_flushやob_end_cleanでバッファリングを1段終了できるよね
ていうか何のためにob_startしてるか理解してるの?
0112107
2011/02/16(水) 19:34:13ID:???ありがとう
>>110
すみません。意味がやっとわかりました。
おかげで期待通りの動きになりました。
ありがとうございました。
011394
2011/02/16(水) 19:44:25ID:0JcE1KEJ4つ目の引数に1って指定できるの知りませんでした。
正規表現も勉強になります。
実際のデータにはエンティティ化された文字がはいっててtitileタグ内はそのままで
エンティティ化された部分だけを置き換え出来るようにしたいと考えてます。
<""><title>title</title><"//">
を
<""><title>title</title><"//">
としたいので<title>の前の部分の内容によって置き換え条件を変更したいわけです。
explodeみたいなので配列に分割できればラクそうだったんですが。
[0]=> <""> [1]=> <title>title</title> [2]=> <"//">
こんな風に出来れば指定部分だけそのままで配列0と2だけ置き換えしてimplodeでもすれば出来るんじゃないかと。
こういうことが出来るのかどうか、代替手法があるのかどうかちょっとまだ見えてないんですが。
0114nobodyさん
2011/02/16(水) 20:01:42ID:???0115nobodyさん
2011/02/16(水) 20:04:22ID:???コマンドプロンプトからPHPを実行した場合、
後者のほうがパフォーマンスはいいのですかね?
0116nobodyさん
2011/02/16(水) 20:06:43ID:???■ このスレッドは過去ログ倉庫に格納されています