php的问题
刚开始学PHP,今天听完关于类的课了,想实践一下,把原来的数据连接改成类,就出问题了,求高手解答~<?php$conn=mssql_connect("SKY-201205...
刚开始学PHP,今天听完关于类的课了,想实践一下,把原来的数据连接改成类,就出问题了,求高手解答~
<?php
$conn = mssql_connect("SKY-20120512YAT","sa","123456")or die ("服务器链接失败!");
mssql_select_db("caipu",$conn) or die ("数据库链失败");
?>
上边是我原来没用类前的文件没问题,
<?php
class db_mysql{
private $host;
private $dbbase;
private $dbpassword;
function __construct($host,$dbbase,$dbpassword){
$this->host = $host;
$this->dbbase = $dbbase;
$this->dbpassword = $dbpassword;
$this->connnect();
}
//进行连接
function connnect(){
//打开连接
$conn= mssql_connect($this->host,$this->dbbase,$this->dbpassword) or die("连接失败");
mssql_select_db('caipu',$conn) or die ("连接数据库失败");
}
}
$p = new db_mysql('SKY-20120512YAT','sa','123456'); //进行实例化
?>
这是我改过后的类文件,报错如下,是PHP。INI内存不够 吗,为什么我原来的没问题啊,
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 24576 bytes) in D:\wamp\www\ckly.php on line 43
还有个问题,PHP什么情况下使用类啊,举点例子最好了~谢谢了 展开
<?php
$conn = mssql_connect("SKY-20120512YAT","sa","123456")or die ("服务器链接失败!");
mssql_select_db("caipu",$conn) or die ("数据库链失败");
?>
上边是我原来没用类前的文件没问题,
<?php
class db_mysql{
private $host;
private $dbbase;
private $dbpassword;
function __construct($host,$dbbase,$dbpassword){
$this->host = $host;
$this->dbbase = $dbbase;
$this->dbpassword = $dbpassword;
$this->connnect();
}
//进行连接
function connnect(){
//打开连接
$conn= mssql_connect($this->host,$this->dbbase,$this->dbpassword) or die("连接失败");
mssql_select_db('caipu',$conn) or die ("连接数据库失败");
}
}
$p = new db_mysql('SKY-20120512YAT','sa','123456'); //进行实例化
?>
这是我改过后的类文件,报错如下,是PHP。INI内存不够 吗,为什么我原来的没问题啊,
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 24576 bytes) in D:\wamp\www\ckly.php on line 43
还有个问题,PHP什么情况下使用类啊,举点例子最好了~谢谢了 展开
5个回答
2012-05-23 · 知道合伙人软件行家
关注
展开全部
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 24576 bytes) in D:\wamp\www\ckly.php on line 43
从错误提示来看,是指php设置的8M内存已经耗尽。
但错误提示的 ckly.php 第 43 行,这个错误的行号比较奇怪,从你给出的源代码来看这个43行是不存在的。
由于本地没有mssql环境,不能测试,以下是我用mysql环境编写的代码,经测试通过运行正常,供参考:
<?php
class db_mysql
{
private $host;
private $dbbase;
private $dbpassword;
private $conn;
function __construct($host, $dbbase, $dbpassword)
{
$this->host = $host;
$this->dbbase = $dbbase;
$this->dbpassword = $dbpassword;
$this->connnect();
}
//进行连接
function connnect()
{
//打开连接
$this->conn = mysql_connect($this->host, $this->dbbase, $this->dbpassword) or die("连接失败");
mysql_select_db('books', $this->conn) or die("连接数据库失败");
}
function showdata()
{
$rows = mysql_query('SELECT * FROM customers',$this->conn);
echo '<table border="1"><tr><td>姓名</td><td>年龄</td></tr>';
while($row = mysql_fetch_assoc($rows)){
echo '<tr><td>'.$row['name'].'</td>';
echo '<td>'.$row['address'].'</td></tr>';
}
}
}
$p = new db_mysql('localhost', 'test', 'test'); //进行实例化
$p->showdata();
?>
从错误提示来看,是指php设置的8M内存已经耗尽。
但错误提示的 ckly.php 第 43 行,这个错误的行号比较奇怪,从你给出的源代码来看这个43行是不存在的。
由于本地没有mssql环境,不能测试,以下是我用mysql环境编写的代码,经测试通过运行正常,供参考:
<?php
class db_mysql
{
private $host;
private $dbbase;
private $dbpassword;
private $conn;
function __construct($host, $dbbase, $dbpassword)
{
$this->host = $host;
$this->dbbase = $dbbase;
$this->dbpassword = $dbpassword;
$this->connnect();
}
//进行连接
function connnect()
{
//打开连接
$this->conn = mysql_connect($this->host, $this->dbbase, $this->dbpassword) or die("连接失败");
mysql_select_db('books', $this->conn) or die("连接数据库失败");
}
function showdata()
{
$rows = mysql_query('SELECT * FROM customers',$this->conn);
echo '<table border="1"><tr><td>姓名</td><td>年龄</td></tr>';
while($row = mysql_fetch_assoc($rows)){
echo '<tr><td>'.$row['name'].'</td>';
echo '<td>'.$row['address'].'</td></tr>';
}
}
}
$p = new db_mysql('localhost', 'test', 'test'); //进行实例化
$p->showdata();
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对,内存不够,你去 php.ini 文件里,把内存设大些。
另外,现在大多数的人使用类的目的就是将某一类函数封装到类里,比如将字符串函数放到一个类里,将图片函数放到一个类里。
不过,这并不是“类”这个概念的真正目的,“类”是想让程序员能够以面向对象思维去构思系统,至于如何面向对象,呵呵,这个问题可以写成好几本书了,不过,我们PHP其实能用得上面向对象的机会没那么多。
另外,现在大多数的人使用类的目的就是将某一类函数封装到类里,比如将字符串函数放到一个类里,将图片函数放到一个类里。
不过,这并不是“类”这个概念的真正目的,“类”是想让程序员能够以面向对象思维去构思系统,至于如何面向对象,呵呵,这个问题可以写成好几本书了,不过,我们PHP其实能用得上面向对象的机会没那么多。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先不是内存不够
把mysql_connect写成了mssql_connect,
mssql_select_db也是同样的错误;
关于类的使用,
假设要创建一个图书馆的应用程序,可能就要包括一些类来表示书籍,杂志,员工==实体;每个实体包含一组性质和行为;
比如在员工类中有姓名,性别,==,在OOP中称为属性,员工每天上班下班,比如以打卡的方式来签到,那么就可以设定两个方法来实现员工的签到和签离,把这两个方法放在这个类中。需要用的时候就new下,就可以调用了!简单的说类就是为了实现现实生活中各种实物的一种行为或者说方法!
把mysql_connect写成了mssql_connect,
mssql_select_db也是同样的错误;
关于类的使用,
假设要创建一个图书馆的应用程序,可能就要包括一些类来表示书籍,杂志,员工==实体;每个实体包含一组性质和行为;
比如在员工类中有姓名,性别,==,在OOP中称为属性,员工每天上班下班,比如以打卡的方式来签到,那么就可以设定两个方法来实现员工的签到和签离,把这两个方法放在这个类中。需要用的时候就new下,就可以调用了!简单的说类就是为了实现现实生活中各种实物的一种行为或者说方法!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这写法太不规范了 mysql 和mssql数据库都分不开 并且你的数据库地址呢?错的一踏糊涂 sa是mssql的 默认帐号 mysql是root 而你这个是mssql数据库 这个不明白 你自己看看吧 对于mssql数据库语句不太知道 没用过这个数据库 建议你用php+mysql 个人感觉 php还是配合mysql比较强大
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
几乎只要是用就要用类,没有哪里不用。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询