2011-01-29 14 views
1

開発中のPHPページでWindowsXPマシンを使用しています。私はPDOを使ってMySQLのバックエンドに接続しています。私の開発環境では正常に動作しますが、CentOS 5.5テストサーバーでは処理が黙って停止します。いくつかのデバッグの後、私は '$ stmt-> bindParams'セクションで正確に停止することがわかりました。PDOバインドパラメータがステージングサーバーおよびホースサーバーでサイレントモードで失敗する

次のように私の文は次のとおりです。

$stmt = $dbh->prepare('SELECT * FROM MEMBERS WHERE ID=:what'); 

echo 'statement prepared'; //debug 

$stmt->bindParam('what', $enteredid); 

echo 'parameters bound'; //debug 

も、私の開発マシンで動作しますが、それは私のテストサーバーで停止し、両方の

$stmt->bindParam('what', $enteredid, PDO::PARAM_STR, 255); 

を試してみました。

私は「文が準備されました」としか見ることができませんが、何も起こりません。

また、ホスティング環境でこのページを試しました。同じことは、あなたがbindParam(呼び出すと...

おかげに関して ディーパック

+0

あなたは 'のerror_reportingで何を得るのメッセージを参照してください(E_ALL) 'と呼びます。 – lonesomeday

+0

http://stackoverflow.com/questions/3726505/how-to-squeeze-error-message-out-of-pdo –

+0

error_reporting(E_ALL)に何も表示されません。また、php.iniファイルで設定しようとしました。何も表示されません。ところで、この声明は試練の中にあります。例外がスローされていないようです。なにか提案を? – Laraveldeep

答えて

1

いくつかの提案が必要起こる)あなたが渡す必要はありません ':何プレースホルダとして代わりに結合しますなにかの'?これは、Windows上で動作していないかのLinuxで...

1

古い、誰かがこの便利な

正しいコードを見つけるかもしれないなぜわからないです:

$stmt = $dbh->prepare('SELECT * FROM MEMBERS WHERE ID=:what'); 

echo 'statement prepared'; //debug 

$stmt->bindValue(':what', $enteredid); 

echo 'parameters bound'; //debug 

$stmt->execute(); 
関連する問題