PHP PDO 潜在的逻辑错误

2023-12-09

我是 PHP 新手,想知道为什么这段代码不向数据库插入任何内容(返回 0)。我确信这一定是一个逻辑错误,因为我没有收到任何错误消息。

class DbConnection {
    protected $db_conn;
    public $db_host = "localhost";
    public $db_name = "todo";
    public $db_user = "root";
    public $db_pass = "";

    function connect () {
        try {
            $this->db_conn = new PDO ("mysql: host = $this->db_host; dbname = $this->db_name", $this->db_user, $this->db_pass);
            return $this->db_conn;
        }
        catch (PDOException $e) {
            return $e->getMessage ();
        }
    }
}

class ManageUsers {
    public $link;

    function __construct () {
        $db_connecton = new DbConnection ();
        $this->link = $db_connecton->connect ();
        return $this->link;
    }

    function registerUsers ($username, $password, $ip_address, $reg_time, $reg_date) {
        $query = $this->link->prepare("INSERT INTO users (username, password, ip_address, reg_time, reg_date) VALUES (?,?,?,?,?)");
        $values = array ($username, $password, $ip_address, $reg_time, $reg_date);
        $query->execute ($values);
        $counts = $query->rowCount ();
        return $counts;
    }

}

$users = new ManageUsers ();
echo $users->registerUsers ("bob", "lassie", "127.0.0.2", "13:37", "03-14-15");

你不应该在你的PDO连接,否则它会假设奇怪的事情,例如它认为您的数据库名称是:[space]todo等等,所以只需删除连接字符串中的每个空格,如下所示:

$this->db_conn = new PDO("mysql:host=$this->db_host;dbname=$this->db_name", $this->db_user, $this->db_pass);
                             //^     ^              ^      ^no spaces
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP PDO 潜在的逻辑错误 的相关文章

  • PHP 如何判断用户是否按下了 Enter 键或 Submit 按钮?

    我遇到的问题是我在一个表单中有多个提交输入 每个提交输入都有不同的值 我更愿意将它们保留为提交 Whenever the user presses Enter it is as though the topmost submit input
  • 简单的 PHP 条件帮助: if($Var1 = in list($List) and $Cond2) - 这可能吗?

    这是一个可能的功能吗 我需要检查一个变量是否存在于我需要检查的变量列表中 并且 cond2 是否为 true 例如 if row name 1 2 3 Cond2 doThis 它对我不起作用 我在复制粘贴中更改的只是我的列表和变量名称 i
  • 删除PHP字符串中所有不匹配的字符?

    我有一个文本 我想从中删除所有不属于以下字符的字符 所需字符 0123456789 abcdefghijklmnopqrstuvwxyz n 最后一个是我确实想保留的 n 换行符 要匹配除列出的字符之外的所有字符 请使用反转字符集 http
  • 如何检查PHP变量是否包含非数字?

    我只是想知道检查 PHP 变量中是否有非数字的方法以及它是否也检测字符之间的空格 需要确保我的表单字段中没有添加任何奇怪的内容 提前致谢 如果您的意思是您只想要一个包含数字的值 那么您可以使用ctype digit http php net
  • PHP MySQL 使用选项/选择 HTML 表单标签进行多重搜索查询

    我正在尝试使用两个搜索字段设置基本的 MySQL LIKE 搜索 我不想拥有它 所以它有多个可选搜索字段 例如if isset POST city isset POST name 我不知道如何用 HTML 来做到这一点
  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • 蛋糕控制台 2.2.1:烘焙错误

    运行 MAMP 的 OSX 机器 CakePHP 2 2 1 已正确安装和配置 这意味着当我浏览到 Index php 文件时 所有绿色条都显示出来 我已经完成了博客教程 并且正在开发我的第二个应用程序 其中脚手架已启动并运行 现在我第一次
  • Symfony2 Assetic 和 Less Sourcemaps

    我不确定如何破解 assetic less 过滤器以输出源映射文件 我这里指的是LessFilterhttps github com kriswallsmith assetic blob master src Assetic Filter
  • 使用 preg_replace 仅替换第一个匹配项

    我有一个结构类似于以下的字符串 aba aaa cba sbd dga gad aaa cbz 该字符串每次都可能有点不同 因为它来自外部源 我只想替换第一次出现的 aaa 但其他人则不然 是否可以 可选的第四个参数预替换 http php
  • 从 .phar 存档中提取文件

    对于 Phar 文件 我完全错过了一些东西 我正在安装一个需要 phpunit pdepend 和其他依赖项的项目 我将它们作为 phar 文件获取 但是 我无法使用命令行工具 php 命令 从中提取文件 我用谷歌搜索了这个问题 但没有发现
  • “使用未定义常量”注意,但该常量应该被定义

    共有三个文件 common php controller php 和 user php 文件 common php 如下所示 文件controller php看起来像 文件 user php 如下所示 执行脚本时 会给出通知 注意 使用未定
  • 为什么 iconv 在 php:7.4-fpm-alpine docker 中返回空字符串

    给出以下代码
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • jQuery Mobile 表单验证

    我有一个移动网站 除了验证之外一切都工作正常 基本上我希望从用户那里获取值 然后在单独的页面 process php 上处理它们 但是 在这样做之前 我需要检查以确保字段已填充 我已经研究了几种方法来做到这一点 但似乎没有一种有效 我现在有
  • PHP 中只保留数组的前 N ​​个元素? [复制]

    这个问题在这里已经有答案了 有没有办法只保留数组的前 N 个 例如 10 个 元素 我知道有array pop 但是有没有更好 更优雅的方法呢 您可以使用array slice http php net array slice or arr
  • SQL 最近日期

    我需要在 php 中获取诸如 2010 04 27 之类的日期作为字符串 并在表中找到最近的 5 个日期 表中的日期保存为日期类型 您可以使用DATEDIFF http dev mysql com doc refman 5 1 en dat
  • php,统计字符并删除超过140个字符的内容

    我需要一个 PHP 函数来计算短语的字符数 如果短语长度超过 140 个字符 则此函数应删除所有其他字符并在短语末尾添加三个点 例如我们有 message I am what I am and you are what you are et
  • 简单的 PHP 表单:电子邮件附件(代码 Golf)

    想象一下 一个用户想要在其网站上放置一个表单 该表单将允许网站访问者上传一个文件和一条简单的消息 该消息将立即通过电子邮件发送 即 该文件未存储在服务器上 或者如果该文件存储在服务器上 仅暂时 作为文件附件 并在邮件正文中添加注释 查看更多
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a

随机推荐

  • Chrome、Firefox 调试器未在 React 应用程序中显示“this”的正确值

    这是 React 组件类中的一些代码 使用 CRA 2 搭建脚手架 click gt console log this hello let x 1 1 This is just here to let chrome put a break
  • 为 sqldatasource 分配参数

    我试图从 SQL Server 获取数据并在表单视图中使用它 但表单视图控件不会从数据源获取任何数据 数据源在页面加载时获取参数 输出只是 这里没有什么可看的 和一个空表 这是数据源和表单视图标签
  • hg忘记和hg删除有什么区别?

    我希望 Mercurial 从存储库的当前状态中删除多个文件 但是 我希望这些文件存在于以前的历史记录中 How do forget and remove不同 他们能做我想要的吗 hg forget 只是 的简写hg remove Af 来
  • Visual Studio 2022:防止解决方案资源管理器中折叠文件夹(2)

    这是对中报告的问题的后续行动这个问题同名 我在 Visual Studio 2022 中遇到同样的问题 对象在几秒钟后或单击另一个对象时崩溃 提供的答案是更改 CodeMaid 中的设置 但我尚未加载 CodeMaid 并且遇到了相同的问题
  • R 中有处理命令行选项的包吗?

    R 中有处理命令行选项的包吗 I know commandArgs 但这太基础了 其结果基本上相当于argc and argv in C 但除此之外我还需要一些东西 就像boost program options in C or GetOp
  • 如何将外部文件中的 Fortran 代码插入到单独的代码中?

    我想让我的代码获取在另一个文档中编写的代码 阅读它 然后像在代码中编写一样使用它 假设我们有以下内容 MODULE samplemod CONTAINS FUNCTION sillysum boudary function RESULT c
  • 使用 Trigger.IO/PhoneGap 在 UIWebView 中通过 focus() 事件自动显示键盘

    据推测 自 iOS 6 以来 这是不可能的 您可以在 iOS 6 中设置 UIWebView 的 KeyboardDisplayRequiresUserAction NO 我正在使用 html 5 webview Trigger IO 并构
  • 为什么 foreach 循环不适用于 JSON 数组

    当我尝试的时候解析 json 数组 工作室给了我一个编译错误 指出foreach 不适用于 json 数组 虽然我知道如何获取所有对象并解析 我只是想知道为什么foreach不适用即使 json 数组是一个数组 对于每个循环的工作方式如下
  • 如何在大型排序数组中高效地找到最接近另一个值 X 的值

    对于已排序的列表 如何找到接近给定数字的最小数字 例如 mysortedList 37 72 235 645 715 767 847 905 908 960 如何找到小于或等于700的最大元素quickly 如果我有1000万个元素 那么线
  • 如何在 Laravel 中显示 GIF

    我正在使用 Firefox 浏览器 尝试了所有PNG s JPG一切都在工作 除了GIF 事情是这样的 如果我测试一下http localhost pepsi gif GIF实际上正在工作并显示 但当我在里面尝试时HTML 图片标签它不显示
  • 匹配两个不同标记之间的任意字符串

    我正在尝试匹配两个不同标记之间的字符串的一部分 它们可能是字符串中多次出现的标记 示例文本 标记为斜体 要匹配的文本为粗体 This is 开始比赛 示例文本 结束比赛 和一些 开始比赛 代币和普通 结束比赛 text 我有以下正则表达式
  • 有人玩过NIO管道来过滤/拦截System.out吗?

    按照建议here我想在选择器循环内执行此操作 我真正想要的是在选择器循环内读取写入系统的内容 EDIT1 我编写了一个完整的解决方案 只是为了发现您无法使用 System setOut 重定向 GC 日志 它只是直接转到 FD 或其他东西
  • 使用 geom_bar 彼此相邻的两个条

    我有以下数据框 df decades marxftext durkftext 1 1970 1979 3009 393 2 1980 1989 3468 469 3 1990 1999 3420 657 4 2000 2009 3162 7
  • 流体宽度元素的等高行

    我用过克里斯 科伊尔斯行中的等高块之前多次使用过 jQuery 脚本 而且效果总是很好 话虽这么说 我总是开发针对特定分辨率构建的网站 这次我正在开发一个响应式网站 主容器具有流体宽度 因此 我遇到了问题 但找不到解决问题的方法 克里斯在他
  • As.vector 不会将 data.frame 子集转换为向量

    下面我提供了我一直在研究的一些代码片段 我已经成功地将字符串作为表格读取 我的表中存在一些子集 我希望在其上使用中值 函数 根据我所做的研究和我自己的经验 median 没有为 data frame 或 data frame 的子集定义行为
  • C# 的鼠标钩子

    我正在尝试模拟 硬件 鼠标点击 因为某些软件似乎会阻止来自 PostMessage 的输入 我知道有 SendInput 但这不是一个选项 因为我也需要它在后台窗口中兼容 解决方案似乎是一个低级鼠标钩子 但我四处搜索 除了记录器之外找不到任
  • 满足特定要求的密码正则表达式

    我要编写一个正则表达式来满足以下要求 至少一个字符 至少一位数字 长度必须为 8 至少一个特殊字符 可以是任意特殊字符 前三个很简单 但找不到一种方法来限制至少特殊字符 任何可能的特殊字符 例如 gt etc 您可以通过组合前瞻来解决这些问
  • JavaScript 的客户端 DOM 打开重定向

    我在扫描以下代码时遇到客户端 DOM 打开重定向安全问题 问题出现在我初始化变量 myPath 和 myHost 的位置 我无法理解它如何受到网络钓鱼攻击以及如何修复它 有人可以帮忙吗 var query this value var my
  • Symfony Doctrine 找不到要加载的装置

    我从 Symfony 3 4 开始 但负载夹具有问题 当我执行时php bin console doctrine fixtures load然后我收到消息 In LoadDataFixturesDoctrineCommand php lin
  • PHP PDO 潜在的逻辑错误

    我是 PHP 新手 想知道为什么这段代码不向数据库插入任何内容 返回 0 我确信这一定是一个逻辑错误 因为我没有收到任何错误消息 class DbConnection protected db conn public db host loc