使用 PDO 时“注意:未定义的变量:db”[关闭]

2023-12-10

为了学习 PDO,我编写了以下代码:

$sql = 'SELECT * FROM category ORDER BY order_cat DESC';
foreach ($db->query($sql) as $row)
{
    echo "<input type='radio' name='category' value='$row[id]'>$row[name]<br />";
}

然后我将它封装成一个函数,如下所示:

function GetCategory()
{
    $sql = 'SELECT * FROM category ORDER BY order_cat DESC';
    foreach ($db->query($sql) as $row)
    {
        echo "<input type='radio' name='category' value='$row[id]'>$row[name]<br />";
    }
}

我这样称呼它:

echo GetCategory();

但是,当我这样做时,我收到以下错误:

Notice:未定义的变量:db
致命错误:调用成员函数query()在非物体上

我不知道我错过了什么;我宣布$db在我的配置文件中,如下所示:

$db = new PDO("mysql:host=$localhost;dbname=$namedb;charset=utf8", $userdb, $passdb);

你要么需要通过$db作为参数GetCategory

function GetCategory($db) {
    ...
}

或者将其声明为全局变量:

function GetCategory($db) {
    global $db;
    ...
}

参数通常是优选的。

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

使用 PDO 时“注意:未定义的变量:db”[关闭] 的相关文章

随机推荐

  • 为什么我们需要指定init方法?

    即使不指定以下代码块也可以正常运行init方法 如果是这样的话 这样做的目的是什么 init方法服务 struct Person var name String var age Int init name String age Int se
  • 通过USB端口发送和接收数据[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想通过 USB 端口向设备发送 接收数据 从我的 Vista 电脑 是否有一个免费 便宜的图书馆可以做到这一点 以及这个项目的参与程度如何 不考虑
  • 将事件转发给所有JAVA组件

    我不知道如何解决这个问题 我正在开发一个图形编辑器 可以在其中绘制弧 线 我手动将圆弧组件的大小设置为 1000x1000 因此当拖放此圆弧时我不必更改它 然后我在这个组件中绘制所需尺寸的弧线 每个弧形组件都安装了鼠标监听器 问题是 只有最
  • 为什么这些梯度累积实现不起作用?

    Note 经过实验 我发现只有在 GPU 上训练时才会出现这个问题 我创建了一个 github 问题 50454 此时我不确定到底发生了什么 我正在研究梯度累积的实现 然而 这些方法似乎都不起作用 下面我描述了两种理论上可行但似乎与 Ten
  • 尝试将 EmailJS 与 React 结合使用时,服务 ID 无效

    我在我的网站上创建了一个联系我的表单 为此我使用了 EmailJS 然而 当我尝试通过联系表给自己发送邮件时 我收到了 400 错误The service ID is invalid 我遵循了该教程的每个步骤 因为我之前没有使用过 Emai
  • 可选类型“NSURL?”的值未拆封;你的意思是使用“!”吗?或者 '?'?

    我使用 Xcode 6 Beta 6 启动了一个 Swift 项目 该项目还使用了 Core Data 升级到 Xcode 6 GM 后 编译时出现以下错误 Users AppDelegate swift 58 52 Value of op
  • 如何在android中下载谷歌地图的特定区域

    我正在制作一个 Android 应用程序 它将在屏幕上显示谷歌地图 通过单击按钮 用户可以下载他 她的特定区域并将其存储在内部存储中 稍后 当互联网连接较差或不可用时 用户可以使用之前下载的离线地图 如何制作这样的应用程序 请指导我 谢谢
  • Perl 命令行多行替换

    我正在尝试使用命令行 perl 替换多行文件中的文本 我正在使用 Ubuntu Natty 以下是我的文本文件 称为 test txt 的内容 mysqld Basic Settings IMPORTANT If you make chan
  • 使用 sqlalchemy 时出现编程错误:(psycopg2.errors.UndefinedColumn)

    我在查询使用 sqlalchemy 在 postgres db 本地 上创建的表时遇到问题 虽然我能够执行并接收查询结果 SELECT FROM olympic games 当我尝试访问单个列或对表执行任何其他操作时收到错误消息 SELEC
  • 如何在 UIWebView 中从 Javascript 调用 Objective-C 方法?

    我正在使用 Phonegap 开发一个本机 iPhone 应用程序 因此一切都是用 HTML 和 JS 完成的 我正在使用 Flurry SDK 进行分析并希望使用 FlurryAPI logEvent EVENT NAME 跟踪事件的方法
  • 通过 AFNetworking 上传到 Amazon-S3

    我在通过 AFNetworking 将文件上传到 S3 时遇到困难 当我尝试上传时 我收到回调 表明文件的一小部分已上传 然后回调停止 一两分钟后我收到一条超时消息 我在用着亚马逊S3客户端但它似乎是 AFHTTPClient 的一个非常直
  • ADF - 迭代选择输出到复制活动

    我们有一个 SP 其中 SP 执行并返回多个结果集 其中列号发生变化 如下所示 create proc test ab as select 1 as num1 select 1 as num1 2 as num2 select 1 as n
  • 对 AVPlayerLayer videoGravity 属性进行动画处理

    我试图复制苹果在视频播放方面的行为 允许用户拉伸视频图像以填充边界 interface FHVideoPlayerView UIView end interface FHVideoPlayerView Class layerClass re
  • 如何根据其他微调器获取微调器值

    我有两个旋转项目 一个是我的日旋转器 另一个是我的月旋转器 如果我从月份微调器中选择二月 并且如果我选择日期为 30 则不应执行此操作 另一个例子 四月有 30 天 所以如果有人选择月份为四月 日期为 31 日 那么这是不正确的 请告诉我如
  • 在 Android Studio 中禁用“添加到 VCS”

    我已经在 Android 开发中使用 Intellij IDEA w git 集成有一段时间了 我最近升级到 Android Studio v0 1 1 现在我最喜欢的快捷键之一 Ctrl Command A 添加到 VCS 始终被禁用 这
  • iOS 选项弹出窗口 - 类似于剪切/复制/粘贴

    对于我正在开发的应用程序 我需要一些弹出选项 类似于在 UITextView 或 UIWebView 中选择文本时剪切 复制 粘贴的显示方式 但是 我无法找到这种弹出窗口的名称 是否有针对它们的公共 API 或者是否必须从头开始实现 您要查
  • 通知:本地通知的自定义声音在 iOS10 中不播放

    我正在发出本地通知 自从UILocalNotification类在 iOS 10 中已弃用 我已经使用过UserNotifications framework 当我尝试设置通知的自定义声音时 默认声音始终播放 这是我的代码 IBAction
  • Spring mvc:访问外部文件夹的资源

    我已将媒体 图片和电影 存储在文件夹中 例如 C test tes png 并且我尝试使用以下网址访问图片 http localhost 8080 app picture test png 为此 我使用了资源标签 spring 3 如下所示
  • Mozilla 浏览器上的高对比度模式

    我无法在 Mozilla Firefox 浏览器中使用任何高对比度模式的媒体查询 给出的媒体查询在 IE 和 Edge 上运行良好 但在 Mozilla 上不起作用 这些图像不会以高对比度模式出现在 Mozilla 上 有人可以建议任何以高
  • 使用 PDO 时“注意:未定义的变量:db”[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 为了学习 PDO 我编写了以下代码 sql SELECT FROM category O