欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

刚转学php,请大家帮小弟我写段数据库查询类的代码

程序员文章站 2024-02-14 13:33:58
...
刚转学php,请大家帮我写段数据库查询类的代码
大家好,本人初转php,想建立一个pdo连接的数据库操作类,但是不知道php的调用方法,请大家指点下。
类文件coon.php内容:

class my_sql
{
public $dbh;
public $sth;
//连接数据库
public function sql_open()
{
$host='localhost'; //数据库主机名
$dbName='lif2'; //使用的数据库
$user='root'; //数据库连接用户名
$pass='123456'; //对应的密码
$dsn='mysql:host='.$host.';dbname='.$dbName;
try
{
$dbh = new PDO($dsn, $user, $pass);
$dbh->query("SET NAMES UTF8");
$dbh->exec("SET NAMES UTF8");
}
catch(Exception $e)
{
echo 'data error: '.$e->getMessage();
}
}
//关闭数据库连接
public function sql_close()
{
$dbh=null;
}

//查询数据库
public function my_query($sql)
{
$this->sql_open();
//$this->sth = $this->dbh->query($sql);
//$result = $this->sth->fetchAll();
//return $result;
这里面怎么写才能返回数据?
}
}
?>


页面调用代码:



include 'conn.php';
$mysql = new my_sql;

foreach ($mysql->my_query('SELECT * FROM user_type order by user_id') as $row)
{
//这里循环输出查询内容
}

$mysql->sql_close();
?>



望详细指点下,实在弄不明白,用asp或asp.net的函数调用方法全不行,我想写一个查询,插入,更新和删除数据的通用函数,外部只要带入sql语句就可以执行的那种。
------解决方案--------------------
$this->dbh = new PDO($dsn, $user, $pass);

你的my_query看上去没错,将注释的那几行打开。先试试看。


------解决方案--------------------
你现在这个不能防注入,防注入需要用PDO::prepare


/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories $sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>
刚转学php,请大家帮小弟我写段数据库查询类的代码

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频