我正在编写一个网站,我目前的任务是将文本保存在mysql服务器上,这样我就可以作为管理员登录,然后在线编辑显示的文本。
我已经到目前为止一切正常但我已经使用mysql函数完成了它。现在将所有这些功能改为mysqli,因为我听说这些功能更好。
这是我创建的mysql_connect.php,所以无论我需要连接到服务器,我都可以将其包含在其他脚本中:
这是我的block1_aboutme.php文件,我连接到服务器并请求它的所有文本,以便我可以在我的"关于我"页。这也可以按预期工作,并在我的页面上正确显示文本。
问题是当我以管理员身份登录时,登录验证的一部分是我的class.login.php脚本中的以下代码。一旦我登录并转到我的aboutme页面,就会出现错误:
致命错误:未捕获错误:在C:\ xampp \ htdocs \ mywebsites \ LuPaw \ admin \ class.login.php中调用未知的成员函数query():84堆栈跟踪:#0 C:\ xampp \ htdocs \ mywebsites \ LuPaw \ admin \ class.login.php(73):Login-> verifyDatabase()#1 C:\ xampp \ htdocs \ mywebsites \ LuPaw \ admin \ class.login.php(36):登录 - > verifySession()#2 C:\ xampp \ htdocs \ mywebsites \ LuPaw \ aboutme.php(42):登录 - > isLoggedIn()#3 {main}抛出C:\ xampp \ htdocs \ mywebsites \ LuPaw \ admin第84行的class.login.php
此错误引用第84行,即$data = $db-> query("select stuff")
函数。
不知何故,这在这里不起作用,而几乎完全相同的代码行在block1_aboutme脚本中有效。
我会把我的第三个剧本的链接放在这里,但我不能,因为我还没有声望品牌在一个帖子中放置3个链接。将在评论中发布第3张图片。
我已经尝试了一些东西。如果我例如回应" $ path"它显示了正确的路径,这意味着$ db应该是一个可行的变量。
有人在这看到问题吗?
答案 0 :(得分:0)
尽量不要在类方法中使用include_once
,因为如果已经包含了脚本执行期间的任何位置,则不会包含该文件:请改用include
。
无论如何,这不是您可以实现的最佳解决方案,我建议您将DB类实现为单例,然后检索数据库实例以执行查询。