【发布时间】:2014-01-21 12:37:08
【问题描述】:
我对 PDO 和 OOP 还是很陌生。之后,我尝试执行下面给出的代码,得到以下输出:- 致命错误:调用 C:\xampp\htdocs\Mine\OOPs\pdo progs\function 中非对象上的成员函数 query()。 php 在第 20 行。谢谢。
<?php
class main
{
public function __construct()
{
$obj=new PDO("mysql:host=localhost;dbname=arnob-pdo",'root','');
}
public function reg()
{
global $obj;
$name=$_POST['name'];
$email=$_POST['email'];
$pass=$_POST['pass'];
$sql=$obj->query("insert into memo set
name='".$name."',email='".$email."',pass='".$pass."'");
if($sql)
{
?>
<script type="text/javascript">
alert("WELCOME <?php echo $_POST['name']; ?> to Memo");
</script>
<?php
}
else echo 'Registration Failure';
}
}
$main=new main;
?>
index.php:
<?php require('function.php');
if (isset($_POST['submit']))
{
$exe=$main->reg();
echo $exe;
}
?>
带有提交表单。
【问题讨论】:
-
错误出现在第 20 行的 C:\xampp\htdocs\Mine\OOPs\pdo progs\function.php 上。所以也发布 function.php 中的代码以进行评估。
-
请修正您的代码格式。目前无法阅读。
-
您实际上应该避免使用
global变量。您可能会受益于 this 解决方案。 -
感谢 Guyzz 的快速反馈。实际上,这段没有在类中包装函数的代码是有效的。所以,想问问!是的,我只是这个概念的初学者,我必须深入挖掘。