php 类中连接mysql
我想要在类中连接mysql,已有一个myslq类,按照下面的代码写的,一直取不出数据,怎么写才行呢?classdemo{function__destruct(){$DB-...
我想要在类中连接mysql,已有一个myslq类,按照下面的代码写的,一直取不出数据,怎么写才行呢?
class demo
{
function __destruct()
{
$DB->close();
}
public function __construct()
{
$DB = new DB_MySQL;
$DB->connect(servername, dbusername, dbpassword, dbname, usepconnect);
}
function test()
{
$sql1 = "SELECT * FROM tab limit 1";
$txt = $DB->fetch_one_array($sql1);
return $txt['id'] ;
}
}
$person = new demo;
echo $person->test(); 展开
class demo
{
function __destruct()
{
$DB->close();
}
public function __construct()
{
$DB = new DB_MySQL;
$DB->connect(servername, dbusername, dbpassword, dbname, usepconnect);
}
function test()
{
$sql1 = "SELECT * FROM tab limit 1";
$txt = $DB->fetch_one_array($sql1);
return $txt['id'] ;
}
}
$person = new demo;
echo $person->test(); 展开
2个回答
展开全部
class demo
{
function __destruct()
{
$DB->close(); // $DB哪里来的?应该是$this->DB->close()吧
}
public function __construct()
{
$DB = new DB_MySQL; // 这属于函数内部变量,函数执行完就消失了。所以应该用$this->DB = new DB_MySQL
$DB->connect(servername, dbusername, dbpassword, dbname, usepconnect); // 同理,需要改成$this->DB,参数也有问题吧,还是你为避免泄露sql账号密码故意这么写的?
}
function test()
{
$sql1 = "SELECT * FROM tab limit 1";
$txt = $DB->fetch_one_array($sql1); // 同理,需要改成$this->DB
return $txt['id'] ;
}
}
$person = new demo;
echo $person->test();
展开全部
<?php
class SqlTool{
private $conn;
private $host="localhost";
private $user="root";
private $password="root";
private $db="chat";
function SqlTool(){
$this->conn=mysql_connect($this->host,$this->user,$this->password);
if(!$this->conn){
die("连接数据库失败".mysql_error());
}
mysql_select_db($this->db,$this->conn);
mysql_query("set names utf8");
}
//完成select
public function execute_dql($sql){
$res=mysql_query($sql,$this->conn) or die(mysql_error());
//下面的语句是查看刚刚添加的数据的id号
//echo "添加的id=".mysql_insert_id($this->conn);
return $res;
}
//完成 update delete insert
public function execute_dml($sql){
$b=mysql_query($sql,$this->conn) or die(mysql_error());
if(!$b){
return 0;//失败
}else{
if(mysql_affected_rows($this->conn)>0){
return 1;//表示成功
}else{
return 2;//表示没有行数影响
}
}
}
}
?>
class SqlTool{
private $conn;
private $host="localhost";
private $user="root";
private $password="root";
private $db="chat";
function SqlTool(){
$this->conn=mysql_connect($this->host,$this->user,$this->password);
if(!$this->conn){
die("连接数据库失败".mysql_error());
}
mysql_select_db($this->db,$this->conn);
mysql_query("set names utf8");
}
//完成select
public function execute_dql($sql){
$res=mysql_query($sql,$this->conn) or die(mysql_error());
//下面的语句是查看刚刚添加的数据的id号
//echo "添加的id=".mysql_insert_id($this->conn);
return $res;
}
//完成 update delete insert
public function execute_dml($sql){
$b=mysql_query($sql,$this->conn) or die(mysql_error());
if(!$b){
return 0;//失败
}else{
if(mysql_affected_rows($this->conn)>0){
return 1;//表示成功
}else{
return 2;//表示没有行数影响
}
}
}
}
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询