2

インクルード ファイルに 2 つの変数を渡すのに問題があります。

閲覧可能なページ:

<?php

$sqlCount = "This is a working MySQL query.";
$sqlQuery = "This is also a working MySQL query.";

include("include.php");

?>

include.php:

<?php

$result = mysql_query($sqlCount, $conn) or trigger_error("SQL", E_USER_ERROR);
//$result populates variables to be used in second portion of code
//don't need $result anymore

$result = mysql_query($sqlQuery, $conn) or trigger_error("SQL", E_USER_ERROR);
//rest of my code

?>

コードを含めない場合、コードは表示可能な PHP ページで機能します。$sqlCount と $sqlQuery を include.php に移動しても機能します。

私が見つけた唯一の本当の解決策は、それらをグローバル変数として宣言することでしたが、試してみると何もしませんでした。

編集:私はそれを理解しました。$sqlQuery には、include.php ファイル内まで作成されていないクエリ内の変数がありました。

4

2 に答える 2

0

私の観点では、より良いアプローチは、「include.php」のコードを「表示可能なページ」から呼び出すことができる関数として書き直すことです。

include.php

<?php
function included_function($sql_count, $sql_query)
{
    $result = mysql_query($sql_count, $conn) or trigger_error("SQL", E_USER_ERROR);
    //$result populates variables to be used in second portion of code
    //don't need $result anymore

    $result = mysql_query($sql_query, $conn) or trigger_error("SQL", E_USER_ERROR);
    //rest of my code
}
?>

「閲覧可能なページ」

<?php
include("include.php");

$sqlCount = "This is a working MySQL query.";
$sqlQuery = "This is also a working MySQL query.";

included_function($sqlCount, $sqlQuery);

?>
于 2012-05-07T21:16:16.573 に答える
0

試しましたか

include.php:

<?php

echo $sqlCount; die();   // just to be sure you have what you expect?
$result = mysql_query($sqlCount, $conn) or trigger_error("SQL", E_USER_ERROR);
于 2012-05-07T21:36:02.707 に答える