ホームページ >バックエンド開発 >PHPチュートリアル >機能の問題
function PHP カスタム関数 PHP
<?phpfunction test($sql){ require_once("../../config.php"); $query = sqlsrv_query($conn,$sql); if( $query === false) { die( print_r( sqlsrv_errors(), true) ); } $row = sqlsrv_fetch_array($query); echo $row[0];}test("SELECT COUNT(name) FROM tb1 GROUP BY name");test("SELECT COUNT(name) FROM tb2 GROUP BY name");?>
クエリを終了した後、前のリクエストの結果を再度クリーンアップする必要があります
クエリを終了した後、前のリクエストの結果をクリーンアップする必要があります前回のリクエストの結果をクリーンアップするにはどうすればよいですか?
function test($sql){
require_once("../../config.php"); // ロードされている場合はロードされません
$query = sqlsrv_query($conn,$sql) ; //ロードされていない場合(2回目実行時)$connはもう存在しないのでしょうか?
....
}
Lao Xu は正しいです。コード $conn はグローバル変数として使用する必要があります。そうでない場合、$conn を 2 回呼び出すと存在しません
エラー メッセージが次のようになるかどうかを確認してください
さらに、結果をクリーンアップすることも必要です。以前はクリーンアップしないようにしましたが、結果として 2 つの結果がインターリーブされ、混乱してしまいました。Mysql は mysql_free_result() であり、コードは sqlsever のように見えます。おそらく sqlsrv_free_stmt() です
他のデータベースにも同様の関数があります
function test($sql) {
require_once("../../config.php") //ロードされている場合はロードされません
$query = sqlsrv_query($conn,$sql); //ロードされていない場合(2回目実行)$ connは存在しない? ....
}
Lao Xu は正しいです。コード $conn はグローバル変数として使用する必要があります。そうでない場合、$conn を 2 回呼び出すと存在しません
エラー メッセージが次のようになるかどうかを確認してください
さらに、結果をクリーンアップすることも必要です。以前はクリーンアップしないようにしましたが、結果として 2 つの結果がインターリーブされ、混乱してしまいました。Mysql は mysql_free_result() であり、コードは sqlsever のように見えます。それはおそらく sqlsrv_free_stmt() です
他のデータベースにも同様の機能があります、ありがとうございます。 ! !ここで質問したいのですが、mssql_init 関数を sqlsrv_init に置き換えると、sqlsrv_init 関数は機能しません。代わりにどの関数を使用する必要がありますか?
マニュアルを見てください。各インターフェイスは異なります。関数名の接頭辞を変更するだけという意味ではありません
マニュアルを見てください http://php.chinaunix.net/manual/zh/ref.sqlsrv.php
rree
<?phprequire_once("../../config.php");global $conn;$conn=$conn;function test($sql){ global $conn; $query = sqlsrv_query($conn,$sql); if( $query === false) { die( print_r( sqlsrv_errors(), true) ); } $row = sqlsrv_fetch_array($query); echo $row[0];}test("SELECT COUNT(name) FROM tb1 GROUP BY name");test("SELECT COUNT(name) FROM tb2 GROUP BY name");?>こんなことは出来ません! ! !
function test($sql){
require_once("../../config.php"); // ロードされている場合はロードされません
$query = sqlsrv_query($conn,$sql) ; //ロードされていない場合(2回目実行時)$connはもう存在しないのでしょうか?
}
<?phprequire_once("../../config.php");global $conn;$conn=$conn;function test($sql){ global $conn; $query = sqlsrv_query($conn,$sql); if( $query === false) { die( print_r( sqlsrv_errors(), true) ); } $row = sqlsrv_fetch_array($query); echo $row[0];}test("SELECT COUNT(name) FROM tb1 GROUP BY name");test("SELECT COUNT(name) FROM tb2 GROUP BY name");?>
<?php $a = test("SELECT COUNT(name) FROM tb1 GROUP BY name");$b = test("SELECT COUNT(name) FROM tb2 GROUP BY name"); //为什么我这些写它就直接输出了呢?我想把值存在变量里,再用 echo 来输出。?>
リーリー