トップページphp
1001コメント279KB

【PHP】下らねぇ質問はID出して書き込みやがれ 116

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2012/02/26(日) 11:49:58.54ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 115
http://kohada.2ch.net/test/read.cgi/php/1327005803/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0866(498===523===525)===(498=523=525)2012/03/16(金) 13:40:37.20ID:Ny7vUNEa
>>864
なるほどー。

>>865
緩い比較は使わないので、僕は後者しか使ってないです。
後者の書き方を知らなかった時は、switchを使うのがすごくイヤで、ifで書いていたりしました。
0867nobodyさん2012/03/16(金) 15:13:52.02ID:???
caseに書かれた比較条件をswitchに書かれている値になるか緩い比較をしているだけだからなぁ
どちらかを使うって事は無いな
08688672012/03/16(金) 15:14:48.41ID:???
誤)どちらか
正)どちらかのみ
0869nobodyさん2012/03/16(金) 16:30:44.79ID:???
>>861
文字コード変換時にバイト数が増えることがあるのは今考慮しなくていいんだよねっていう確認なんだよ
0870(498===523===525)===(498=523=525)2012/03/16(金) 16:49:38.82ID:Ny7vUNEa
>>869 なるほどー
0871nobodyさん2012/03/16(金) 16:56:26.98ID:e6UkDkcE
>>850
>>851
ありがとうございます。
悩んでいた自分が馬鹿でした。
0872nobodyさん2012/03/16(金) 19:59:09.74ID:???
株式会社アトカブ
マエカブ株式会社
ってネタを思い出した
0873nobodyさん2012/03/16(金) 22:25:23.76ID:90NjddGX
あるライブラリで定義されているグローバル変数の読み込みのことで質問させてください。

// somelib.php
$global_variable = 'golobal variable';
class Somelib {...}

// myclass.php
class Parent {...}
class Child1 extends Parent {...}
class Child2 extends Parent {
 public function some_method() {
  require_once 'somelib.php';
  $somelib_obj = new Somelib();
 }
}

このようにひとつのファイルに複数のクラスを割り当てています。
Child1ではsomelib.phpは不要なので、Child2が使用された場合にのみ読み込もうと、上記のように書きました。
しかし、インスタンス生成は(当然)できるものの、グローバル変数$global_variableは読み込まれません。
somelib.php内に$GLOBALS['global_variable']として呼び出すコードがあるため、そこでエラーとなります。
この場合のルールってどうなってるんでしょうか。
※myclass.phpのグローバル領域にてrequireした場合には問題ありません。
0874nobodyさん2012/03/16(金) 22:39:56.44ID:???
>>873
そりゃsome_methodのスコープになるんだから当たり前だべ
0875nobodyさん2012/03/16(金) 22:55:23.96ID:90NjddGX
>>874
ありがとうです。そうか、ライブラリと同じ(グローバルの)スコープではないんですね。
動作の確認できました。ひとまずrequireの直後に以下のように追加して凌ごうと思います〜。
なんかえらい雑な感じもするけど・・・

$GLOBALS['global_variable'] = $global_variable;
0876nobodyさん2012/03/17(土) 04:06:15.48ID:ErwHrG3p
ttp://9jp.info/archives/11154
↑のサイトのやり方で、ページングの機能をつくりたいのですが、
0からではなく、最初のページを1からにしたいんです。
どなたか教えてください。。。
0877nobodyさん2012/03/17(土) 04:22:39.51ID:???
ループカウントを1からにすればいいだろ
0878nobodyさん2012/03/17(土) 04:38:51.34ID:ErwHrG3p
>>877
ありがとう。でもわからんw

function getNaviLink() {
$naviLink = null;
for ($i = 0; $i < $this->maxPageNum; $i++) {

ここを1にしたら最初のページのリンクがなくなたです
0879nobodyさん2012/03/17(土) 05:07:37.45ID:???
>>878
表示だけ+1すればいいよ
0880nobodyさん2012/03/17(土) 05:20:39.95ID:ErwHrG3p
>>879
たぶんできた!!!ありがとう\(^o^)/
0881nobodyさん2012/03/17(土) 05:24:18.22ID:???
まぁそんな単純な話じゃないんだけどね
全体的に変えないとだめだろう
+1とか-1とかつけたり消したり等号を<から<=に変えたり
つうか自分で作れない人は改造スレね
http://kohada.2ch.net/test/read.cgi/php/1314546533/
0882nobodyさん2012/03/17(土) 05:46:48.90ID:???
ページネーションならプロはこういうふうに実装する
Awesome Pagination with ZF, Paginator, AjaxContext and the HTML5 History API
http://blog.philipbrown.id.au/2011/03/awesome-pagination-with-zf-paginator-ajaxcontext-and-the-html5-history-api/
0883nobodyさん2012/03/17(土) 05:57:56.87ID:???
日本語で
0884nobodyさん2012/03/17(土) 06:18:27.10ID:???
>>881
> 毎回ページング対象の全レコードを投げる必要があったりと、とても微妙な事をしているので、
> データ量が多い場合には微妙な気がするけれど、数千件程度のデータなら別にこれでも良いんじゃないかな〜と。

こんなこと書いてるところを信用するなでいいと思う。
0885nobodyさん2012/03/17(土) 06:27:58.81ID:???
それどこの記述だ?
0886nobodyさん2012/03/17(土) 06:31:48.31ID:???
>>885
>>876
0887nobodyさん2012/03/17(土) 06:32:20.08ID:???
コンストラクの引数で$pageNum = ''
とか書いてるのに
$this->pageNum = intval($pageNum);
とか書いてるのがPHPの嫌なところだな
こういうのってしっかりやるときはやっぱり
InvalidArgumentException投げるんだろうか
0888nobodyさん2012/03/17(土) 06:34:31.66ID:???
>>887
>>1
0889nobodyさん2012/03/17(土) 06:40:37.80ID:???
質問じゃないから気にしないでいいよ
0890nobodyさん2012/03/17(土) 07:01:48.15ID:???
わかった
0891(498===523===525)===(498=523=525)2012/03/17(土) 07:48:34.40ID:WDIEzOVg
>>876
>>884
Pear::Pagerも、同じく取得するデータを制限するのではなく、
全件取得して表示するデータを制限するだけという小規模仕様。
http://pear.php.net/manual/ja/package.html.pager.php

>数千件程度のデータなら

まぁ、非効率なことをやっているという意識があって、
実際の動きが遅くないならいいんじゃないかという気もする。
件数が増えればすぐに遅くなる。
0892nobodyさん2012/03/17(土) 07:59:08.54ID:???
$data = "

<?php
print \"No\";
?>

";

$bbb = str_replace( "No", "Yes",$data );



/////////////////////

$dataの文字列が<?php ?>でくくって
あるとstr_replace できないようですが
置換する方法を教えて下さい。
0893(498===523===525)===(498=523=525)2012/03/17(土) 08:06:22.87ID:WDIEzOVg
>>887
それは言語とは関係のないコードの話ですよね。
「$this->pageNum = intval($pageNum); 」では、フォームから受け取った文字列型のページ値を
文字列から数値に「意図的に」変換しつつ、入力値の制限にもなるし、全く問題ない記述だと思う。

自分なら、フォームで受け取る処理でページは数値化しておくけど。
0894(498===523===525)===(498=523=525)2012/03/17(土) 08:09:10.72ID:WDIEzOVg
>>892
$data="" じゃなく $data='' に。
0895nobodyさん2012/03/17(土) 08:10:25.63ID:???
いやいや
2dが2になるのが嫌なんです
0896nobodyさん2012/03/17(土) 08:16:19.10ID:???
>>894
セミコロンを一つにですか?
0897(498===523===525)===(498=523=525)2012/03/17(土) 08:18:37.82ID:WDIEzOVg
>>895
ページャーの外で ctype_digit でもしとけばいい話。
って、やっぱりPHPと関係ない。
0898nobodyさん2012/03/17(土) 08:21:27.67ID:???
最初から静的型付けならそんな問題もおこらないでしょうという話ですよ
0899nobodyさん2012/03/17(土) 08:24:34.84ID:???
intvalとかよりキャストのほうが早いんじゃね
0900nobodyさん2012/03/17(土) 08:30:02.68ID:???
しかしintvalで済ませるのは横着だと思う
/detail/1420596/
/detail/1420596jp/
が同じ結果ってのはな
後者はNotFoundにしないとだめだろ
0901nobodyさん2012/03/17(土) 09:27:30.59ID:j6AXQeWw
QdSmtp error: No Responce SYSTEM TIME OUT line -> 603
QdSmtp error: getMessage error line -> 543
QdSmtp error: Error From setting line -> 488
QdSmtp error: Send Data Error or Auth Error line -> 415
Qdmail error: Qdmail Version 1.2.6b ,PHP Version 5.2.11
Qdmail error: OS WINNT ; PHP Version 5.2.11 ; Qdmail version 1.2.6b
php.ini status: mb_language = Japanese ; mb_internal_encoding = UTF-8 ; mb_detect_order = ASCII,JIS,UTF-8,EUC-JP,SJIS
Qdmail Status debug: 0, log: 3, errorlog: 0
Qdmail error: No send . Because SMTP mail method replied error line -> 2190
Qdmail error: Send Error line -> 2115
Qdmail error: Error happen, see upper line -> 2194
Qdmail error: Send Error line -> 2115

Qdmailでメールを送信すると上記のようなエラーが出て送信できない場合があるのですが、
これはどういったエラーなんでしょうか?
(このあとすぐにもう1度同じ処理を更新ボタンを押してすると成功する場合が多いです)
09029012012/03/17(土) 09:28:09.71ID:j6AXQeWw
ちなみにQdmailはCakePHPのコンポーネントとして利用しており、
メールサーバはさくらインターネットを利用しています。
0903nobodyさん2012/03/17(土) 10:26:37.10ID:???
エラー行出てるならそこ見ればいい
0904nobodyさん2012/03/17(土) 11:47:59.61ID:???
なんで標準ライブラリでもないものの質問をするかな
PEARでもスレ違いって言われるぐらいなのに
0905nobodyさん2012/03/17(土) 12:26:16.65ID:???
サーバーサイドプログラムは世界中から攻撃される可能性があるのに 理解してないコードをよく使えるな
09068922012/03/17(土) 15:25:57.69ID:???
出来ました。
ありがとうございました。
0907(498===523===525)===(498=523=525)@家2012/03/17(土) 17:13:21.10ID:m3CObGes
>>898
静的型付けならそうなるが、動的型付けであっても、自動変換しないでエラーにする関数が
用意されていたらいいんだと思う。

が、PHPは「自動変換しますよ!」的なポリシーで、用意していないって事なのかな。
まぁ、簡単に書けるので、そうしたければ自分で用意して使え、というポリシーなんだろう。

JavaだとInteger::Integer(String s)か。
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Integer.html#Integer(java.lang.String)


>>899
大して変わんねんじゃね?

>>900
確かに横着。
でも知っていて手を抜く場合もあるかも。
0908nobodyさん2012/03/17(土) 20:28:53.68ID:???
phpファイルのエンコードはurf-8
windows7、php 5.4.0です。
ディレクトリをオープンする時、フォルダパスにダメ文字が入っていると開けないのですが、どうすれば解決できるでしょうか。
$path="C:\コッソリ噂";
opendir($path);

文字コードをsjis、sjis-winにするのかなと思ったのですが、変わりませんでした。
opendir(mb_convert_encoding($path,'SJIS','UTF-8'));
opendir(mb_convert_encoding($path,'SJIS-win','UTF-8'));
0909nobodyさん2012/03/17(土) 20:29:52.37ID:???
>>908
>>1
0910nobodyさん2012/03/17(土) 20:39:47.36ID:yzv5Q1Zj
失礼しました。再度質問し直させて頂きます。

【OS名】windows7
【PHPのバージョン】5.4
【連携ソフトウェア】無し
【質問内容】
phpファイルのエンコードはurf-8です。
ディレクトリをオープンする時、フォルダパスにダメ文字が入っていると開けないのですが、どうすれば解決できるでしょうか。
$path="C:\コッソリ噂";
opendir($path);

文字コードをsjis、sjis-winにするのかなと思ったのですが、変わりませんでした。
opendir(mb_convert_encoding($path,'SJIS','UTF-8'));
opendir(mb_convert_encoding($path,'SJIS-win','UTF-8'));
0911nobodyさん2012/03/17(土) 21:34:51.63ID:???
これは地味に難しい質問がきたな
WindowsはShift_JISだから無理なのかもしれんな
http://toro.2ch.net/test/read.cgi/tech/1306595564/
こっちの人のほうが詳しいと思われ
0912nobodyさん2012/03/17(土) 21:37:20.90ID:???
windows7ってそのままサーバ機能があるのか?スゲー明日買って来る
0913(498===523===525)===(498=523=525)@家2012/03/17(土) 21:58:14.67ID:m3CObGes
>>910
PHP 5.3以降のバグ?
ttp://old.nabble.com/-PHP-users-35287--Windows7-%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E8%AA%AD%E3%81%BF%E5%87%BA%E3%81%9B%E3%81%AA%E3%81%84-td29136372.html
0914nobodyさん2012/03/17(土) 21:58:18.95ID:???
>>910
・・・数スレ毎にこの話題出るね。
簡単に言えば現在のPHPは対応できてないんでダメですね。
詳しく知りたければ過去スレに書いたのでも見てください。

>>909
スレの無駄なんで、今後は回答しながら指摘してくれるかなぁ。
0915nobodyさん2012/03/17(土) 22:07:01.70ID:???
>>914
>>1
0916nobodyさん2012/03/17(土) 22:08:05.98ID:???
スレの無駄?
0917nobodyさん2012/03/18(日) 01:11:04.96ID:???
phpは言語レベルのバクが多い
0918nobodyさん2012/03/18(日) 01:43:24.75ID:QddY4QUA
【OS名】centos
【PHPのバージョン】5.3
file_get_contentsやcurlで、あるサイトの内容を取得しているのですが、どちらでも最新の内容が取れません
bashからだとcurlを使うと最新の内容が、wgetだと上記と同じく古い内容が取得されます
趣味で作ってる物なのでラグがあっても問題はないのですが、これらにどのような違いがあるのか気になります
詳しい方いましたら教えていただきたいです
0919nobodyさん2012/03/18(日) 01:45:33.75ID:???
>>918
古いというのは具体的に言うと?
0920nobodyさん2012/03/18(日) 01:52:38.48ID:???
httpヘッダとかキャッシュ関連だと思うけど
どこのサイトか晒せばいろいろ試せるんだがな
09219182012/03/18(日) 02:02:29.75ID:???
箱○のプレイ履歴です
http://gamercard.xbox.com/ja-JP/[gamertag].card/
タグは伏せてます
プレイしたらここに掲載される情報が更新されるんですがwin7でブラウザから見て最新になっていても
centosからだと・・・って状況です
shell_exec("curl http://~")で試してみましたがこれでも古い情報になります
現時点で2時間ほどラグ出てるので向こう側の問題かも・・・?
というか箱○持ってないと検証できないですね
0922nobodyさん2012/03/18(日) 02:09:19.46ID:???
>>921
>>1
09239182012/03/18(日) 02:45:07.11ID:QddY4QUA
>>921は私です
curlだと最新が〜と>>918で書きましたが間違いでこっちも古かったです
URLがen-USだとどの方法でも最新のが得られるようです
ブラウザのリクエストヘッダ使ってみたりしましたが相変わらずでした
やっぱり向こう側の問題な気がします
0924nobodyさん2012/03/18(日) 03:50:55.73ID:???
データが伝播するまでのラグなんじゃないかなぁ、とおもうけれど
09259182012/03/18(日) 09:35:25.48ID:QddY4QUA
HTTP/Request、HTTP/Client、lynxなど試しましたがどれもダメでした
別のCentOS(こっちは6)で試したらどれでも最新版が取得できるので
IPで弾かれてる予感が・・・常用時はキャッシュ使ってるので負荷はかけてない筈でしたが
ブラウザからでも即時更新されることもあれば寝て起きるまで更新されないこともあるので
向こう側の問題ってことで決着します
0926nobodyさん2012/03/18(日) 10:01:26.49ID:???
PHPに関係ないことをまだ言うか
0927nobodyさん2012/03/18(日) 20:11:59.01ID:rlrUKc8I
while (税収が少ない){
  消費税率上げる
  消費が減る
  税収減る
}

税収が増えません
どうすればいいんでしょうか?
0928nobodyさん2012/03/18(日) 20:19:01.70ID:???
while (税収が少ない){
  消費税率上げる
  消費が減る
  税収減る
  if(927が高額納税){
    while(true){
      税率が下がる
      消費が増える
      景気が良くなる
      税収が増える
    }
  }
}
0929nobodyさん2012/03/19(月) 00:19:43.05ID:???
http://smallworld.west-tokyo.com/blog/2011/02/php-study-1.html
こちらを参考にログインフォームを作っているのですが、

Strict Standards: Non-static method DB::isConnection() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\Auth\Container\DB.php on line 150

Strict Standards: Non-static method DB::parseDSN() should not be called statically, assuming $this from incompatible context in C:\xampp\php\PEAR\DB.php on line 520
というようなエラーが沢山(末尾の数字が変わる)出てしまいます。

PEAR::DBがインストールされていないときに出るエラーのようなのですが、今はMDB2を使うようになっていると聞きます。
上記のURLのソースをMDB2で使うにはどの様に変えていけば良いのでしょうか
0930nobodyさん2012/03/19(月) 00:43:22.26ID:???
以下を読む。すぐわかるよ
http://pear.php.net/manual/ja/package.authentication.auth.auth.auth.php
http://pear.php.net/manual/ja/package.authentication.auth.intro-storage.php
0931nobodyさん2012/03/19(月) 00:46:47.84ID:???
>>929
>>1
0932nobodyさん2012/03/19(月) 01:41:14.49ID:cSahNEV1
まったくの初心者なんですが、
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1483756154
ここの質問にお答え願えないでしょうか。
ヒントだけでも結構です。

簡単に言うと、CGIの掲示板にスカイプボタンをつけたいんです。
どこをどういじればよいのやら・・・
0933nobodyさん2012/03/19(月) 01:41:44.97ID:cSahNEV1
あちらで答えて頂いてもこちらに答えて頂いても結構です。
0934nobodyさん2012/03/19(月) 01:54:20.92ID:???
>>932
それ、マルチポストっていうんだよ
0935nobodyさん2012/03/19(月) 01:57:32.49ID:???
スカイプってなんか聞いたことあるね
0936nobodyさん2012/03/19(月) 03:11:25.15ID:???
オブリビオンの続編だろ
0937nobodyさん2012/03/19(月) 03:20:07.54ID:???
違うよ。うす〜いおならだよ。
0938nobodyさん2012/03/19(月) 04:14:36.21ID:???
スカイダイビング中のおならじゃなかったのか…
0939nobodyさん2012/03/19(月) 10:49:45.16ID:???
オナラプー
0940nobodyさん2012/03/19(月) 18:01:12.36ID:/hyp6Xkg
【OS名】win7
【PHPのバージョン】5.4
【連携ソフトウェア】無し
【質問内容】

$a["b"]をfの中で$xに参照渡しをし、$a["b"](=$x)の値を書き換えたいのですが

$a["b"]="a";
f($a);
print $a["b"];
function f(&$a){
 if($a["b"]=="a"){
  $x=&$a["b"];
 }else{
  $x="";
 }
 $x="x";
}
こう書くと狙い通りにxと表示されるのですが、ifを(true?true:false)の一行の書き方で書こうとすると
$a["b"]="a";
f($a);
print $a["b"];
function f(&$a){
 $x=($a["b"]=="a"?&$a["b"]:"");
 $x="x";
}
文法エラーが発生してしまいます。
 $x=&($a["b"]=="a"?$a["b"]:"");
 $x=($a["b"]=="a"?(&$a["b"]):"");
この様に書いても同じでした。
一行の書き方で参照渡しするにはどうしたらよいのでしょうか
0941nobodyさん2012/03/19(月) 23:17:34.73ID:???
>>940
参照代入演算子は&=
0942nobodyさん2012/03/19(月) 23:18:33.49ID:???
すまん、=&の間違い
0943nobodyさん2012/03/19(月) 23:28:21.50ID:???
>>940
出来てもよさそうなのにな。出来ないんだよ。
$a["b"]=="a"?$x=&$a["b"]:"";
まあ、ifで書きなよ
0944nobodyさん2012/03/20(火) 01:39:16.41ID:???
strtrって、なんで配列だと違う長さでいいんだ?
0945nobodyさん2012/03/20(火) 01:50:23.05ID:???
>>944
>>1
09469102012/03/20(火) 02:41:57.55ID:???
new ZipArchiveで安全な場所にzipファイルを作って、その中に自由な名前のファイルをaddFromStringする。
またはexec("mklink /H \"{$tempPath}\" \"{$path}\"");してファイルを持ってくる方法にしました。
やれば出来る。なんでも出来る。
09479442012/03/20(火) 02:44:26.84ID:???
なるほど。何気に理由があるもんなんですね。
0948nobodyさん2012/03/20(火) 08:27:38.77ID:???
>>944
文字列の方は、一文字づつのfrom toの指定を文字列で行うもの(だから文字数同じ)
配列の方は from toが文字列
0949nobodyさん2012/03/20(火) 17:35:10.61ID:5sAZwRmN
Smartyで
{html_options name=form[$i.num][enable][] options=$select selected=$i.sel}
このようにnameに配列を指定するとエラーになってしまうのですが、
これを回避する方法はないものでしょうか。

すみませんがご教示ください。
0950nobodyさん2012/03/20(火) 17:37:57.03ID:???
>>1
0951nobodyさん2012/03/20(火) 17:39:45.04ID:???
dat落ちしてるな
smartyスレ立てればよろし
0952nobodyさん2012/03/20(火) 20:19:21.63ID:kQLmWU30
PHP+MySQLの型についての質問です。
MySQLのint型のカラム(例、id番号格納用)からPHPでidを取得する場合には、
int型、string型のどちらになるのが普通でしょうか?

同一コードなのに、動作がおかしいので、var_dump()で確認すると、
レンタルサーバー(PHP5.2.5)では、string型になっています。
逆に、ローカルのXAMPP(PHP5.3.5)では、int型になっています。
環境が違うと型も異なるのでしょうか?
0953nobodyさん2012/03/20(火) 22:34:30.30ID:RhIqQwV3
すみません教えてください
http://smallworld.west-tokyo.com/blog/2011/02/php-study-6.html
このソースではどうやってPOSTされた物をセッション変数に入れているのですか?
0954nobodyさん2012/03/20(火) 22:59:01.27ID:XuJ1KzYb
>>953
registCheck.php
でうけとったのをregistForm.phpに渡している。
>>952
レンサバの環境がわからんとなんともいえん

09559532012/03/20(火) 23:05:30.24ID:RhIqQwV3
>>954
それはregistForm.phpの2行目から3行目あたりで行われているということですよね?
$_SESSION['username']=$_POST['username']みたいなのが見当たらないのですが、なぜ渡せるのですか?
0956nobodyさん2012/03/20(火) 23:30:39.79ID:???
>>952
5.3からmysql関連のドライバの扱いが変わってるんでその辺かなぁ。
いろいろ変わってるんだけどそーいうのが簡単に調べられねーんだよな。

>>955
get_magic_quotes_gpcだの、いつの時代のだよと思ったら去年の記事・・・
いろいろ変だし、そこ見るのはやめるのを俺はお勧めする。
09579532012/03/20(火) 23:37:12.10ID:RhIqQwV3
>>956
わかりました。他の所を参考してみます。
ありがとうございました・
09589522012/03/21(水) 00:43:26.28ID:pFyJJ5uV
>>954 >>956
レスありがとうございます。
やはりバージョンの違いが原因と考えた方がよさそうですね。
直感的には、MySQLのカラムがintなら、PHPで取得したデータも
intというのが、わかりやすいです。
また、これからは、5.3以上のサーバーが増えそうなので、
5.3でも動くように変更してみます。
0959nobodyさん2012/03/21(水) 04:15:32.77ID:???
うちのWindows+PHP5.3でもなぜかintで返る
レンサバの5.3だと仕様通りstringが返るから、OSの問題なんかね
0960nobodyさん2012/03/21(水) 07:58:14.83ID:NtYwhUXp
ブラウザで

Resource id #1

と表示されるんですが、これはどういう意味ですか?
0961nobodyさん2012/03/21(水) 09:08:59.69ID:???
リソース型をechoしたってだけで
意味を聞かれても答えられるようなものではない
リソースの概念については
ttp://php.net/manual/ja/language.types.resource.php
0962nobodyさん2012/03/21(水) 09:13:44.19ID:???
>>960
fopenの返り値あたりを表示してんじゃねーの?
http://jp.php.net/manual/ja/language.types.resource.php
09639522012/03/21(水) 10:43:08.42ID:Jp6FiHgK
>>959
coreseverでPHP5.2から5.3へのバージョンアップが可能だったので、
試したところ、5.3にしても、string型が返ってきました。
おっしゃるとおり、PHPのバージョンの問題でなく、OS、MySQL側などの問題のようです。

string型で返るのが仕様なら、string型で統一したいと思います。
WIN+XAMPPの組み合わせだと、int型が返るのかもしれませんね。
0964(498===523===525)===(498=523=525)2012/03/21(水) 11:16:59.46ID:4pswCVuc
>>952
DBに何を使ってアクセスしているか書きましょうよ。
値取るまでのコードを全部書いたらいい。
0965nobodyさん2012/03/21(水) 11:19:43.80ID:???
基本的にDBとのやり取りは文字列のみになる
それ以外で取得できるのはクライアント側の
中間のライブラリとかで処理してる。
09669522012/03/21(水) 11:52:52.10ID:Jp6FiHgK
>>964
PDOを使ってアクセスしています。コードは、こんな感じです。

/**** DB接続PDO ****/
$dsn = 'mysql:host='. SERV .';dbname='. DBNM ;
try {
    $dbh = new PDO($dsn, USER, PASS) ;
    $dbh->query('SET NAMES utf8') ;
    $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE) ;
    $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ) ;
} catch (PDOException $e) {
    die('db error.');
}

$sql = 'SELECT * FROM users WHERE mail=:mail AND pass=:pass AND state=1' ;

$stmt = $dbh->prepare($sql);
$stmt->bindParam(':mail', $mail, PDO::PARAM_STR);
$stmt->bindParam(':pass', $pass, PDO::PARAM_STR);
$stmt->execute();
if ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {         
    $_SESSION['id']  = $row['id'] ;
    $_SESSION['user'] = $row['user'] ;
レス数が950を超えています。1000を超えると書き込みができなくなります。