资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

php类数据库 php支持哪些数据库

php 类连接数据库的问题

你的connect()方法中没有设置使用参数,但是在方法中又使用了$host这些变量,当然出错咯。可以改成

我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好成都网站建设、成都做网站服务,我们努力开拓更好的视野,通过不懈的努力,成都创新互联赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,成都微信小程序,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。

?php class Mysql{

private $host;

private $name;

private $pass;

function __construct($host,$name,$pass){

$this-host=$host;

$this-name=$name;

$this-pass=$pass;

$this-connect($host,$name,$pass);

}

function connect($host,$name,$pass){

if(mysql_connect($host,$name,$pass)){

echo "连接成功";

}else{

echo "连接失败";

}

}

}

$db=new Mysql("localhost","root","");

?

PHP用户类的一个方法怎样调用数据库操作类

直接调用就行了,不过可能你需要引用文件,以下是例子

//文件conn.php,用于连接数据库

class DB_Conn {

}

//文件 db.php, 用于数据库操作,这个类必然需要使用数据库连接对象,因此引用conn.php

require_once conn.php;

class DB {

}

//文件user.php

require_once 'db.php';

class User {

public function getUserById($id) {

$conn = new Db_Conn();

$db = new Db();

}

}

以上只是示意,如果文件不在一个目录下记得修改路径。而且,一般来说数据库对象应该包含连接数据库和数据操作的全部功能,不需要分别写在两个类里面。我觉得你对面向对象的理解还很浅薄,需要进一步累积经验。

在PHP类中调用另一个类中定义的数据库连接?

做成单例模式,就可以在所有的类中使用你的数据库操作类了。

PHP 用类写数据库功能

你的

echo "scriptalert('$sql');/script"; //打印测试 , 意思应该是在客户端通过js把$sql变量打印出来。如果是php,我想应该是这么写:

echo "scriptalert('{$sql}');/script"; 因为是在字符串中引用变量,你那种写法可能不会有内容。 还有 $sql变量通过上面的两个操作,Fn_select函数是没有返回值的,所有$sql=$db-Fn_select获得的$sql值是空的,是没有内容的。你可以在Fn_select函数中设置一个返回值,比如return true,或者return false, $sql就有值了。

php如何使用类和数据库进行数据操作

贴出自己写的一个数据库类吧。

class.php

?php

class Db_Base

{

var $db_host;

var $db_name;

var $db_user;

var $password;

var $linkID;

var $sql;

var $result;

//构造函数,其中dbname,dbuser,dbpsd填自己的数据名,用户名,密码

function __construct()

{

$this-linkID = 0;

$this-sql = "";

$this-db_name="dbname";

$this-db_user="dbuser";

$this-password="dbpsd";

$this-db_host="localhost";

//调用数据库链接函数

$this-Db_Connect();

}

function Db_Base()

{

$this-__construct();

}

//链接数据库函数

function Db_Connect()

{

$this-linkID=@mysql_connect($this-db_host,$this-db_user,$this-password);

if(!$this-linkID)

{

DisplayError("连接失败");exit();

}

$this-Db_Select();

return true;

}

//选择数据库函数

function Db_Select()

{

$select=mysql_select_db($this-db_name);

if(!$select)

{

DisplayError("选择数据库失败");exit();

}

}

//sql语句操作

function Db_Query($sql)

{

if($sql) $this-sql=$sql;

if(!($this-result=mysql_query($this-sql,$this-linkID)))

{

DisplayError("SQL无效");

return 0;

}

else

{

return $this-result;

}

}

//sql语句的结果用数组返回

function Db_Fetch_Array()

{

return mysql_fetch_array($this-result);

}

//select语句 影响的行数

function Db_Num_Rows()

{

return mysql_num_rows($this-result);

}

//INSERT、UPDATE 、DELETE 的影响行数

function Db_Affected_Rows()

{

return mysql_affected_rows();

}

//清除记录

function Db_Free_Result()

{

if(!is_array($this-result)) return "";

foreach($this-result as $kk = $vv)

{

if($vv) @mysql_free_result($vv);

}

}

?

其中DisplayError 为外部定义函数

应用的话,如下操作

example.php

?php

require_once(class.php);

$news=new Db_Base();//构建对象

$sql="select * from tableA limit 0,100";//初始化sql语句

$news-Db_Query($sql);//向数据库插入sql语句

while($re=$news-Db_Fetch_Array())//循环输出sql结果集

{

echo $re[keyA];

echo $re[keyB];//keyA,keyB为你数据表的键

}

echo $news-Db_Num_Rows();//输出本次sql语句影响的行数,假若sql语句是update,delete,insert的,则用 Db_Affected_Rows() 函数

$news-Db_Free_Result();//清空查询结果

?

好吧,百度的这个表单输入框真烂,不能调格式,代码格式可能很乱,就麻烦楼主慢慢看吧。若有问题再发消息给我百度号。

php 连接数据库类

我也刚刚学PHP,正在研究中,虽然你只给10分........

首先,将代码保存到一个文件,如:mysql.class.php

其次,在一个常用的文件里调用:比如头部文件header.php,因为我放在根目录所以用下面方式导入其他文件:

require dirname(__FILE__) . 'include/config.php';

//导入类文件

require dirname(__FILE__) . 'include/mysql.class.php';

//定义一个类及初始化数据库类

$db = new mysql($db_host, $db_user, $db_pass, $db_name);

$db_host = $db_user = $db_pass = $db_name = NULL;

然后,在test.php文件调用:

require_once dirname(__FILE__) . '/header.php';

使用方法:

$sql = "读取表";

$res = $db-query($sql);

$info = array();//定义数组

while($row=$db-fetchRow($res))

{

$arr['id'] = $row['id'];

$arr['title'] = $row['title'];

$info[] = $arr;

}

可以在显示的地方用:

foreach($info as $i)

{

echo $i['title']."br /";

}

或是直接使用while

还用另一种调用方式:

$here_area = $db-getRow("select areaid,areaname from {$table}area where areaid='$areaid'");

$here[] = array('name'=$here_area['areaname'],'id'=$here_area['areaid']);

测试通过,因为我正在使用.....................................

config.php代码:

?php

$db_host = "localhost";

$db_name = "test";

$db_user = "root";

$db_pass = "";

$table = "mini_";

$charset = "gb2312";

$dbcharset = "gbk";

?

mysql.class.php代码:

?php

class mysql

{

var $link = NULL;

//自动执行__construct php5类构建方法,如果PHP4和PHP5同时使用会自动使用PHP5的方法

function __construct($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $quiet = 0)

{

//自动执行时调用mysql函数

$this-mysql($dbhost, $dbuser, $dbpw, $dbname, $pconnect, $quiet);

}

//php4类构建方法,如果没有 __construct 就自动执行此功能

function mysql($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $quiet = 0)

{

if ($quiet)

{

$this-connect($dbhost, $dbuser, $dbpw, $dbname, $pconnect, $quiet);

}

else

{

$this-settings = array(

'dbhost' = $dbhost,

'dbuser' = $dbuser,

'dbpw' = $dbpw,

'dbname' = $dbname,

'charset' = $charset,

'pconnect' = $pconnect

);

}

}

function connect($dbhost, $dbuser, $dbpw, $dbname = '', $pconnect = 0, $quiet = 0)

{

global $dbcharset;

if ($pconnect)

{

if (!($this-link = @mysql_pconnect($dbhost, $dbuser, $dbpw)))

{

if (!$quiet)

{

$this-ErrorMsg("Can't pConnect MySQL Server($dbhost)!");

}

return false;

}

}

else

{

if (PHP_VERSION = '4.2')

{

$this-link = @mysql_connect($dbhost, $dbuser, $dbpw, true);

}

else

{

$this-link = @mysql_connect($dbhost, $dbuser, $dbpw);

mt_srand((double)microtime() * 1000000);

}

if (!$this-link)

{

if (!$quiet)

{

$this-ErrorMsg("Can't Connect MySQL Server($dbhost)!");

}

return false;

}

}

$this-dbhash = md5($this-root_path . $dbhost . $dbuser . $dbpw . $dbname);

$this-version = mysql_get_server_info($this-link);

if ($this-version '4.1')

{

if ($dbcharset != 'latin1')

{

mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this-link);

}

if ($this-version '5.0.1')

{

mysql_query("SET sql_mode=''", $this-link);

}

}

if ($dbname)

{

if (mysql_select_db($dbname, $this-link) === false )

{

if (!$quiet)

{

$this-ErrorMsg("Can't select MySQL database($dbname)!");

}

return false;

}

else

{

return true;

}

}

else

{

return true;

}

}

function query($sql, $type = '')

{

if ($this-link === NULL)

{

$this-connect($this-settings['dbhost'], $this-settings['dbuser'], $this-settings['dbpw'], $this-settings['dbname'], $this-settings['charset'], $this-settings['pconnect']);

$this-settings = array();

}

if ($this-queryCount++ = 99)

{

$this-queryLog[] = $sql;

}

if ($this-queryTime == '')

{

if (PHP_VERSION = '5.0.0')

{

$this-queryTime = microtime(true);

}

else

{

$this-queryTime = microtime();

}

}

if (!($query = mysql_query($sql, $this-link)) $type != 'SILENT')

{

$this-error_message[]['message'] = 'MySQL Query Error';

$this-error_message[]['sql'] = $sql;

$this-error_message[]['error'] = mysql_error($this-link);

$this-error_message[]['errno'] = mysql_errno($this-link);

$this-ErrorMsg();

return false;

}

return $query;

}

function affected_rows()

{

return mysql_affected_rows($this-link);

}

function num_fields($query)

{

return mysql_num_fields($query);

}

function error()

{

return mysql_error($this-link);

}

function errno()

{

return mysql_errno($this-link);

}

function num_rows($query)

{

return mysql_num_rows($query);

}

function insert_id()

{

return mysql_insert_id($this-link);

}

function fetchRow($query)

{

return mysql_fetch_assoc($query);

}

function fetcharray($query)

{

return mysql_fetch_array($query);

}

function version()

{

return $this-version;

}

function close()

{

return mysql_close($this-link);

}

function ErrorMsg($message = '', $sql = '')

{

if ($message)

{

echo "$message\n\n";

}

else

{

echo "bMySQL server error report:";

print_r($this-error_message);

}

exit;

}

function getCol($sql)

{

$res = $this-query($sql);

if ($res !== false)

{

$arr = array();

while ($row = mysql_fetch_row($res))

{

$arr[] = $row[0];

}

return $arr;

}

else

{

return false;

}

}

function getOne($sql, $limited = false)

{

if ($limited == true)

{

$sql = trim($sql . ' LIMIT 1');

}

$res = $this-query($sql);

if ($res !== false)

{

$row = mysql_fetch_row($res);

if ($row !== false)

{

return $row[0];

}

else

{

return '';

}

}

else

{

return false;

}

}

function getAll($sql)

{

$res = $this-query($sql);

if ($res !== false)

{

$arr = array();

while ($row = mysql_fetch_assoc($res))

{

$arr[] = $row;

}

return $arr;

}

else

{

return false;

}

}

//使用: getRow($sql,true) 如果有true那值是 limit 1,读取一条信息

function getRow($sql, $limited = false)

{

if ($limited == true)

{

$sql = trim($sql . ' LIMIT 1');

}

$res = $this-query($sql);

if ($res !== false)

{

return mysql_fetch_assoc($res);

}

else

{

return false;

}

}

}

?


网站名称:php类数据库 php支持哪些数据库
标题网址:http://cdkjz.cn/article/hpcehs.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220