Php OOP-PDO;全局变量的问题?
我对PDO和OOP很陌生。之后,我尝试执行下面给出的代码,得到以下输出:-致命错误:在第20行的C:\xampp\htdocs\Mine\OOPs\pdo progs\function.php中对非对象调用成员函数query()。谢谢Php OOP-PDO;全局变量的问题?,php,mysql,oop,pdo,Php,Mysql,Oop,Pdo,我对PDO和OOP很陌生。之后,我尝试执行下面给出的代码,得到以下输出:-致命错误:在第20行的C:\xampp\htdocs\Mine\OOPs\pdo progs\function.php中对非对象调用成员函数query()。谢谢 <?php class main { public function __construct() { $obj=new PDO("mysql:host=localhost;dbname=a
<?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;
}
?>
类和变量的基本说明见文档: 正如其他用户所说,使用良好的代码格式和清晰的变量描述($obj不是描述性的)
错误出现在第20行的C:\xampp\htdocs\Mine\OOPs\pdo progs\function.php上。因此,也可以发布function.php中的代码进行评估。请修复您的代码格式。目前无法读取。实际上应该避免使用global
变量。您可能会从解决方案中受益。感谢Guyzz的快速反馈。。实际上,这段代码没有将函数包装到类中,它是有效的。所以,我想问一问!是的,我只是这个概念的初学者,我需要深入挖掘。你的代码片段实际上会违反OCP。。另外,自从PHP5.0以来,var
的使用一直受到反对,这实际上也不起作用
<?php
class main {
private $db;
public function __construct(){
$this->db = new PDO( ... );
}
public function reg(){
...
$sql = $this->db->query( ... );
...
}
}
?>