2017-05-07 8 views
0

PHPをSQL Serverに接続するのに役立つ必要がありますか?これは水と油を一緒にしようとしていますか?私はこのエラーを取得し、このコード(URL)と遊ぶhttps://docs.microsoft.com/en-us/sql/connect/php/how-to-retrieve-output-parameters-using-the-sqlsrv-driverPHPをSQL Serverに接続する方法

にコメントを残す:

Variable parameter 2 not passed by reference (prefaced with an &). Output or bidirectional variable parameters (SQLSRV_PARAM_OUT and SQLSRV_PARAM_INOUT) passed to sqlsrv_prepare or sqlsrv_query should be passed by reference, not by value

私は

$params = array(

array($lastName, SQLSRV_PARAM_IN), array(&$salesYTD, SQLSRV_PARAM_OUT)); 

echo $salesYTD; 

を使用する場合は値が示されたことは、長いテキスト(すべてのPHPコードです)

+0

どのバージョン? –

+0

ここでサンプルを試しましたか:http://php.net/manual/en/function.sqlsrv-prepare.php –

+0

はい、私はこの解決策を試してみますが、エラーが発生します。 PHPのバージョン= 7.0.15 SQLSRVバージョン= php7.0-sybaseの潜在的な解決策へのリンクは常に歓迎ですが、([リンクの周りのコンテキストを追加]してください – Fernando

答えて

-1

私たちはfreeTDSを使って大成功を収めました。

見てくださいhttp://www.freetds.org/userguide/php.htmそれは複雑に見えますが、正直なところ、それは本当ではなく、うまくいきます。

は、Linuxのためにこの素敵なチュートリアルが見つかりました:私たちは、問題について考えた後、BREW

+0

// meta.stackoverflow.com/a/8259)ので、あなたの仲間のユーザーは、それが何であるか、なぜそこにいるのかを知ることができます。ターゲットサイトに到達できない場合や、永続的にオフラインになる場合は、常に重要なリンクの最も関連性の高い部分を引用してください。外部サイトへのリンク以上のものがあることを考慮に入れてください。なぜ、どのように答えが削除されますか?(// stackoverflow.com/help/deleted-answers)という理由が考えられます。 – FrankerZ

+0

downvote答えに役に立たないので。なぜ他のdbプロバイダに切り替えるのですか? –

0

とMAC上でそれを使用http://www.informaticapressapochista.com/linux/connect-php-code-ms-sql-server-freetds/

を、私の推測では、あなたのコードである&で正しいです。

私はあなたがクエリで使用する前に変数を初期化していないと思います。 はこのようにそれを初期化します。

$salesYTD = 0.0; 

これはfloatへのPHPの内部データ型を設定します。

または

クエリにPHPの型を指定する必要があります:あなたが使用しているSQLSVRドライバの https://docs.microsoft.com/en-us/sql/connect/php/how-to-specify-php-data-types

関連する問題