查询在函数内部不起作用

2023-12-01

嗯,我在 SMF 的自定义脚本中有这个函数:

$query = "SELECT id_member, real_name, id_group FROM smf_members WHERE id_group > 0 AND id_group != 9 AND id_group != 12 ORDER BY id_group ASC";

$result = mysql_query($query, $con);


function Display($member_id)
{
$queryDisplay = "SELECT value
    FROM smf_themes
    WHERE id_member = ".$member_id."
    AND variable = 'cust_realfi'";
}

while ($row = mysql_fetch_array($result)) {

Display($row['id_member']);

$resultDisplay = mysql_query($queryDisplay, $con);

echo ("<td>"); 

if (mysql_num_rows($resultDisplay) == 0) echo ("Not yet entered");
else {
 while ($rowDisplay = mysql_fetch_array($resultDisplay)) {
  if (strlen($rowDisplay['value']) > 0) echo ("".$rowDisplay['value'].""); 
 }
}
echo ("</td>"); 

}

如果我 echo ($member_id);它工作得很好,但是一旦我把它放在那里^,它就不会做任何事情。

我究竟做错了什么? :(


这是整个函数吗?您甚至没有运行查询。您所做的只是用 sql 创建一个字符串而不是运行它。

Edit:

我认为您需要帮助来理解 PHP 中的变量范围。

http://php.net/manual/en/language.variables.scope.php

基本上,它表示函数内部的代码无法访问函数外部定义的变量(大多数变量)。例如:

$test = "test value";

function testFunc(){
    //Since the code inside this function can't
    //access the variables outside of this function
    //the variable $test below is just an empty
    //variable.
    echo $test;
}
testFunc();

这也适用于函数内部的变量无法在该函数外部访问的情况。这就是你做错的事情。

function testFunc(){
    $someNewVar = "some new string";
}
testFunc();

//$someNewVar is never defined outside the function so it doesn't exist.
echo $someNewVar;

一旦函数运行完毕,在函数内部声明和使用的所有变量都会从内存中删除。

因此,要将变量放入函数中,您需要将其作为参数传递。要获取变量,您需要函数返回该变量。

function testFunc($testVar){
    echo $testVar;
    $testVar = "some new string";
    return $testVar;
}
$test = "test val";
//passing the variable into the function and setting
//the return value back into $test.
$test = testFunc($test);
echo $test; //test now has "some new string".

老实说,php 页面会比我更好地描述它。但这应该能让您了解问题所在。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查询在函数内部不起作用 的相关文章

  • 如何从函数返回矩阵(二维数组)? (C)

    我创建了一个生成宾果板的函数 我想返回宾果板 正如我没想到的那样 它不起作用 这是函数 int generateBoard int board N M i j fillNum Boolean exists True initilize se
  • 删除PHP字符串中所有不匹配的字符?

    我有一个文本 我想从中删除所有不属于以下字符的字符 所需字符 0123456789 abcdefghijklmnopqrstuvwxyz n 最后一个是我确实想保留的 n 换行符 要匹配除列出的字符之外的所有字符 请使用反转字符集 http
  • 如何使用 phpunit 运行单个测试方法?

    我正在努力运行一个名为testSaveAndDrop在文件中escalation EscalationGroupTest php with phpunit 我尝试了以下组合 phpunit EscalationGroupTest escal
  • MySQL/PDO::quote() 尽管使用 PDO::PARAM_INT 参数,但仍在整数周围加上引号

    无论我传递给什么值 数据类型对 它都会出现 pdo gt quote value type 它总是将其引用为字符串 echo pdo gt quote foo PDO PARAM STR foo as expected echo pdo g
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • 生成大随机数 php [重复]

    这个问题在这里已经有答案了 我想使用 PHP 生成一个包含 75 个字符的数字 我到处寻找 但一无所获 除了这个 http dailycoding com tools RandomNumber aspx http dailycoding c
  • 如何在 DB2 中创建返回序列值的函数?

    如何在 DB2 中创建一个从序列中获取值并返回该值的函数 应该可以在 select 或 insert 语句中使用该函数 例如 select my func from xxx insert into xxx values my func 基本
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • 如何实现返回“弹出”元素(即数据/值)的“Pop”函数? (链表堆栈)

    对于如何实现同时弹出元素并将其作为返回值返回的单个函数感到困惑 到目前为止 我所看到的都是 pop 函数 它们返回指向堆栈新头的指针 这是一个开始 但是 define VALUE int typedef struct node t VALU
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • 在 PHP 中使用 phpseclib 时出现 RSA 问题

    我正在尝试在 phpseclib 中使用 RSA 实现 我认为在函数中执行一次代码并重新使用该函数会更容易 当我尝试向代码发送短信时 我收到一条错误消息 提示 解密错误 测试还让我意识到每次代码运行时密文都是不同的 所以我显然在那里做错了什
  • 在 apache docker 容器中运行虚拟主机

    我在同一个 apache 容器中有两个 php 应用程序 我试图在端口上运行其中一个应用程序 因为它需要通过根域而不是子文件夹进行访问 我想在端口 8060 上运行应用程序 我尝试使用 apache 虚拟主机执行此操作 但它不会加载页面 h
  • 如果循环中内存超出,我可以在 for 循环中抛出异常吗?

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何处理 foreach 循环中发生
  • PHP HEREDoc (EOF) 语法在 Sublime Text 3 上突出显示与正斜杠的差异

    我不熟悉 Sublime Text 3 如何使用语法突出显示 例如 如果它纯粹依赖于主题 或者它内置于主题运行的标准中 但就我而言 使用 PHP 的 HERE 文档和转发存在一些语法突出显示差异斜线 一旦出现正斜杠 ST3 就会认为以下所有
  • 不接受任何内容也不返回任何内容的函数接口[重复]

    这个问题在这里已经有答案了 JDK中是否有一个标准的函数式接口 不接受也不返回任何内容 我找不到一个 像下面这样 FunctionalInterface interface Action void execute 可运行怎么样 Functi
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • 如何使用 PHPExcel 库从 Excel 获取日期

    我正在尝试使用 PHPExcel 从 Excel 获取日期 但我没有得到日期 我得到的字符串值不是 1970 以来的秒数 我尝试过的代码是 InvDate trim excel gt getActiveSheet gt getCell B

随机推荐

  • 使用广播接收器更改日期时无法运行服务

    我创建了一个生日提醒应用程序 我想在晚上 12 00 开始服务来扫描数据库中人员的生日 我添加了一个广播接收器
  • iPad/iPhone 悬停问题导致用户双击链接

    我有一些我以前建立的网站 使用 jquery 鼠标事件 我刚买了一个 ipad 我注意到所有鼠标悬停事件都被转换为单击 所以例如我必须执行两次单击而不是一次单击 第一次悬停 而不是实际点击 有解决方法可以解决这个问题吗 也许我应该使用 jq
  • 为什么 OS X 上的 FF 在单击事件处理程序中丢失了 jQuery-UI?

    在使用 jQUery 1 7 1 和 jQUery UI 1 8 18 的网页中 如果我在文档准备好时在警报框中输出 ui 我会得到 object Object 但是 当使用 Firefox 时 如果我在单击事件处理程序中输出 ui 则会得
  • 重用 UITableView 中的单元格

    我有我的自定义单元 NewsCell 它包含我的自定义视图 ImageMosaicView 它只是 UIView 的子类 我用它来显示照片 就像 Facebook 上发布的照片 一样 我只是将图像的 url 传递给 ImageMosaicV
  • C++成员函数隐藏的原因[重复]

    这个问题在这里已经有答案了 可能的重复 名称隐藏和脆弱的基础问题 我熟悉涉及成员函数隐藏的规则 基本上 具有与基类函数同名的函数的派生类实际上不会重载基类函数 它完全隐藏了它 struct Base void foo int x const
  • 我如何用 throw e 在开玩笑行中进行测试?

    如何在玩笑错误情况下进行测试 这就是我所做的 我不知道是否存在一种方法来测试这个 it the fetch fails and throw an error async gt let response status 400 body bas
  • Javascript API 不适用于 JW Player 5.9 上的 Chrome 或 Safari

    我正在为 JW Player 开发一个自定义界面 它显示当前曲目标题并具有播放 暂停 下一曲目 上一曲目和音量切换按钮 它适用于 IE8 9 和 FF 但不适用于 Chrome 和 Safari Chrome 的控制台出现以下错误 未捕获的
  • 将输出写入不同的文件夹 hadoop

    我想将同一个减速器的两种不同类型的输出写入两个不同的目录 我可以使用 hadoop 中的多输出功能写入不同的文件 但它们都转到相同的输出文件夹 我想将同一个reduce 中的每个文件写入不同的文件夹 有办法做到这一点吗 如果我尝试将 hel
  • 为什么方法 Base64.encodeBase64String(byte) 不可用

    您好 我已将官方网页中的 apache commons codec 1 7 jar 添加到我的项目构建路径中 但该方法Base64 encodeBase64String byte当我编写代码时不可用 我已经用旧版本的 jar 1 5 1 6
  • 动态加载 php 扩展而不使用 dl() 函数?

    这可能吗 如果可能的话 该怎么做 我问是因为dl 我无法使用该函数 因为 PHP 团队正在从后续版本中放弃该函数 请不要回答 改用扩展加载指令 这正是我不明白的部分 我想 我要问 The 函数已从所有 SAPI 中删除other自 PHP
  • php 命令行性能缓慢 - 这是正常现象还是我有安装问题?

    我有一个简单的 PHP 应用程序 可以打印 hello world 当我从命令行运行它时 需要 6 秒 这是正常的吗 似乎需要 1 秒才能打印 hello world 然后又需要 5 秒 我在 Windows Server 2008 R2
  • 链接升压日志教程时出现链接器错误(未定义的引用)

    我已经通过 yum 在 Fedora 20 上安装了 boost 并且正在尝试一些简单的示例 但是我在编译第一个示例时遇到了麻烦日志记录教程 编译用g c boosttest cc工作正常 但是当我尝试将其链接到时出现很多错误 g boos
  • 在 HQL 上使用 select 进行内连接

    我想用 HQL 做类似的事情 SELECT FROM tableA a INNER JOIN select fieldA sum fieldB as sum from tableB b ON a fieldA b fieldA and a
  • 为什么 Class 变量没有更新其所有实例?

    我正在学习课程 但不明白这一点 class MyClass var 1 one MyClass two MyClass print one var two var out 1 1 one var 2 print one var two va
  • MultiView Android Delphi 与 TWebBrowser

    在包含 TWebBrowser 的区域中使用 MultiView 组件 该组件会覆盖 MultiView 有没有办法来解决这个问题 用法 德尔福XE8更新1 第一个测试中没有代码 所有配置均通过 MultiView 实现可视化 使用 TWe
  • UIView动画在动画过程中确定中心

    我正在使用 UIView 的 animateWithDuration delay options animations completion 方法在几秒钟左右的时间内沿着一条线移动我的视图 我想在该动画期间的任意时间确定 UIView 及其
  • 如何将数组从一个 Servlet 传递到另一个 Servlet?

    我想将多个值从一个 servlet 传递到另一个 servlet 请告诉我如何通过 You can 使用以下命令将数组作为属性放入请求上下文中request setAttribute 使用以下命令将请求转发到第二个 servletReque
  • 宏 ((void(*)())0)() 是什么意思?

    以下宏的结果很清楚 define CRASH do int uintptr t 0xbbadbeef 0 void 0 while false 我的问题是 这条线是什么 void 0 分解为 用英语 例如 这是一个返回指向 的指针的函数 看
  • 如何消除应用栏上的弹跳效果?

    应用栏过去在滑动时会出现问题 它滚动得不顺畅 请参考这些 http stackoverflow com questions 30923889 flinging with recyclerview appbarlayout https git
  • 查询在函数内部不起作用

    嗯 我在 SMF 的自定义脚本中有这个函数 query SELECT id member real name id group FROM smf members WHERE id group gt 0 AND id group 9 AND