小白求助:php数据库出错,Fatal error: Call to a member function exec() on a non-object in
今天整理了下以前的pdo数据库封装类,但是在使用的时候报错,Fatal error: Call to a member function exec() on a non-object in sqlcontrol.class.php on line 45 这个是完整的错误提示,在以前没有修改的时候没有这个错误,这是怎么回事儿。
这个是我用的类
<code><span><?php </span>header(<span>"content-type:text/html;charset=utf-8"</span>); <span><span>class</span><span>dbPdoManger</span> {</span><span>private</span><span>$conn</span>=<span>''</span>;<span>//连接数据库服务器的资源类型</span><span>private</span><span>$host</span>=<span>""</span>;<span>//主机地址</span><span>private</span><span>$dbname</span>=<span>""</span>;<span>//数据库名称</span><span>private</span><span>$user</span>=<span>""</span>;<span>//数据库用户名</span><span>private</span><span>$pwd</span>=<span>""</span>;<span>//密码</span><span>private</span><span>$charset</span>=<span>""</span>;<span>//链接编码</span><span>private</span><span>$config</span>=<span>array</span>(); <span>/* * 构造函数初始化数据库 * 变量: $host连接的服务器名称 * $user登陆服务器的用户名 * $pwd登陆服务器的密码 */</span><span>public</span><span><span>function</span><span>__construct</span><span>(<span>$config</span>)</span> {</span><span>$this</span>->config=<span>$config</span>; <span>$this</span>->host=<span>$this</span>->config[<span>"host"</span>]; <span>$this</span>->dbname=<span>$this</span>->config[<span>"dbname"</span>]; <span>$this</span>->user=<span>$this</span>->config[<span>"user"</span>]; <span>$this</span>->pwd=<span>$this</span>->config[<span>"pwd"</span>]; <span>$this</span>->charset=<span>$this</span>->config[<span>"charset"</span>]; <span>//$this->open();</span> } <span>/* * 打开数据库 */</span><span>public</span><span><span>function</span><span>open</span><span>()</span> {</span><span>$this</span>->conn=<span>new</span> PDO(<span>"mysql:host="</span>.<span>$this</span>->host.<span>";dbname="</span>.<span>$this</span>->dbname,<span>$this</span>->user,<span>$this</span>-pwd); <span>$this</span>->conn->query(<span>'set names '</span>.<span>$this</span>->charset); <span>echo</span><span>$this</span>->conn; } <span>/* * 增删改 */</span><span>public</span><span><span>function</span><span>execSql</span><span>(<span>$sql</span>)</span> {</span><span>$bool</span>=<span>$this</span>->conn->exec(<span>$sql</span>); <span>if</span>(<span>$bool</span>><span>0</span>) { <span>return</span><span>true</span>; }<span>else</span> { <span>return</span><span>false</span>; } } <span>/* * 查询一条数据 */</span><span>public</span><span><span>function</span><span>quer</span><span>(<span>$sql</span>,<span>$mode</span>=PDO::FETCH_ASSOC)</span> {</span><span>$result</span>=<span>$this</span>->conn->query(<span>$sql</span>); <span>$result</span>->setFetchMode(<span>$mode</span>); <span>$re</span>=<span>$result</span>->fetch(); <span>$result</span>=<span>null</span>; <span>return</span><span>$re</span>; } <span>/* * 查询多条数据 */</span><span>public</span><span><span>function</span><span>querMore</span><span>(<span>$sql</span>,<span>$mode</span>=PDO::FETCH_ASSOC)</span> {</span><span>$result</span>=<span>$this</span>->conn->query(<span>$sql</span>); <span>$result</span>->setFetchMode(<span>$mode</span>); <span>$re</span>=<span>$result</span>->fetchAll(); <span>$result</span>=<span>null</span>; <span>return</span><span>$re</span>; } <span>/*查询指定表中有多少条记录*/</span><span>public</span><span><span>function</span><span>getTabRows</span><span>(<span>$key</span>,<span>$tableName</span>,<span>$where</span>)</span> {</span><span>$sql</span>=<span>"select count("</span>.<span>$key</span>.<span>") as 'c' from "</span>.<span>$tableName</span>.<span>" where "</span>.<span>$where</span>.<span>""</span>; <span>$result</span>=<span>$this</span>->conn->query(<span>$sql</span>); <span>$result</span>->setFetchMode(PDO::FETCH_ASSOC); <span>$re</span>=<span>$result</span>->fetch(); <span>$result</span>=<span>null</span>; <span>return</span> intval(<span>$re</span>[<span>'c'</span>]); } <span>/*关闭数据库*/</span><span>public</span><span><span>function</span><span>closeConn</span><span>()</span> {</span><span>$this</span>->conn=<span>null</span>; } } <span>?></span></span></code>
下面是我调用这个类的代码
<code><span><span><?php </span> header(<span>"content-type:text/html;charset=utf-8"</span>); <span>include</span><span>"sqlcontrol.class.php"</span>; <span>$config</span>[<span>"host"</span>]=<span>"localhost"</span>; <span>$config</span>[<span>"dbname"</span>]=<span>"biaodan"</span>; <span>$config</span>[<span>"user"</span>]=<span>"root"</span>; <span>$config</span>[<span>"pwd"</span>]=<span>""</span>; <span>$config</span>[<span>"charset"</span>]=<span>"utf-8"</span>; <span>$db</span>=<span>new</span> dbPdoManger(<span>$config</span>); <span>$sql</span>=<span>"INSERT INTO `test` (`name`, `nicheng`, `password`, `sex`, `icon`, `cardid`, `city`, `phone`, `qq`, `mail`, `liuyan`) VALUES ('t', 't', 't', 't, 't', '1315', 'tttt', '598562', '79874564', 'tret', 'werterter')"</span>; <span>echo</span><span>$db</span>->execSql(<span>$sql</span>);</span></span></code>
求大神解救。。。
以上就介绍了小白求助:php数据库出错,Fatal error: Call to a member function exec() on a non-object in,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

在安装应用程序的新版本时,Windows可能会显示此错误消息“解析C:\\Windows\Microsoft.Net\Framework\v2.0.50727\Config\machine.configParser返回错误0xC00CE556时出错”。当您的系统启动时,这个问题也会出现。无论您在何种情况下遇到此问题,.NETFramework都是幕后真正的罪魁祸首。您可以使用一些非常简单的修复程序来阻止此错误代码再次出现。修复1–替换损坏的文件您可以轻松地从原始目录中替换损坏的ma

为什么截图工具在Windows11上不起作用了解问题的根本原因有助于找到正确的解决方案。以下是截图工具可能无法正常工作的主要原因:对焦助手已打开:这可以防止截图工具打开。应用程序损坏:如果截图工具在启动时崩溃,则可能已损坏。过时的图形驱动程序:不兼容的驱动程序可能会干扰截图工具。来自其他应用程序的干扰:其他正在运行的应用程序可能与截图工具冲突。证书已过期:升级过程中的错误可能会导致此issu简单的解决方案这些适合大多数用户,不需要任何特殊的技术知识。1.更新窗口和Microsoft应用商店应用程

在java中,private的意思为“私有的”,是一种访问控制修饰符,用于修饰类、属性和方法。用private修饰的类成员,只能被该类自身的方法访问和修改,而不能被任何其他类(包括该类的子类)访问和引用;因此,private修饰符具有最高的保护级别。

随着PHP语言的不断发展,做为PHP后端框架中广泛使用的ThinkPHP也在不断完善。随着业务场景的逐渐复杂,ThinkPHP中对于配置管理的需求也越来越大。在这种背景下,ThinkPHP提供了丰富的配置管理功能,今天我们就来介绍一下如何通过ThinkPHPConfig实现配置管理。一、ThinkPHPConfig的介绍ThinkPHPConfig是Thin

第1部分:初始故障排除步骤检查苹果的系统状态:在深入研究复杂的解决方案之前,让我们从基础知识开始。问题可能不在于您的设备;苹果的服务器可能会关闭。访问Apple的系统状态页面,查看AppStore是否正常工作。如果有问题,您所能做的就是等待Apple修复它。检查您的互联网连接:确保您拥有稳定的互联网连接,因为“无法连接到AppStore”问题有时可归因于连接不良。尝试在Wi-Fi和移动数据之间切换或重置网络设置(“常规”>“重置”>“重置网络设置”>设置)。更新您的iOS版本:

一、CodeIgniter简介CodeIgniter是一个轻量级且全面的PHP开发框架,旨在为Web开发人员提供快速且强大的工具来构建Web应用程序。它是一个开源的框架,使用MVC架构模式来实现快速开发和基础功能,同时支持多种数据库。二、Config库简介Config库是CodeIgniter框架中的一个组件,用于对代码进行配置管理。Config库包含了很多

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code
