ex">
当前位置:Gxlcms > PHP教程 > 刚转学php,请大家帮小弟我写段数据库查询类的代码

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

时间:2021-07-01 10:21:17 帮助过:4人阅读

刚转学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 < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>

人气教程排行