【发布时间】:2012-05-16 08:42:57
【问题描述】:
我在将两个变量传递到包含文件时遇到问题。
可见页面:
<?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 文件中才被创建。
【问题讨论】:
-
到底发生了什么?你说它不起作用,但你得到什么错误?
-
@Hamish 这是一个未定义的变量错误。
-
听上去,这些变量可能不在范围内。这可能有很多原因。包含的文件是 AJAX 函数的一部分吗?包含的文件中
$result的深度是多少?$result是否在可能在运行时解析的函数中?我会尝试在该包含文件的开头var_dump()ing 这些变量。 -
@jaypea07 出于好奇,尝试使用...
include(dirname(__FILE__) . "/include.php"); -
@showerhead 不涉及 AJAX。第一个 $result 在 mysql_fetch_row() 中使用,第二个在 mysql_fetch_assoc() 中使用。
标签: php mysql variables include