php – 使用OOP从MySQL获取数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 使用OOP从MySQL获取数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3376字,纯文字阅读大概需要5分钟。
内容图文
![php – 使用OOP从MySQL获取数据](/upload/InfoBanner/zyjiaocheng/901/6de5930a40524e668d5373274f7bc61c.jpg)
我是OOP PHP的初学者.
我正在尝试创建一个连接,查询和获取数据的类
我完成了以下编码
class MySQL {
private $set_host;
private $set_username;
private $set_password;
private $set_database;
public function __Construct($set_host, $set_username, $set_password){
$this->host = $set_host;
$this->username = $set_username;
$this->password = $set_password;
$con= mysql_connect($this->host, $this->username, $this->password);
if(!$con){ die("Couldn't connect"); }
}
public function Database($set_database)
{
$this->database=$set_database;
mysql_select_db($this->database)or die("cannot select Dataabase");
}
public function Fetch($set_table_name){
$this->table_name=$set_table_name;
$query=mysql_query("SELECT * FROM ".$this->table_name);
$result= mysql_fetch_array($query);
}
}
$connect = new MySQL('localhost','root','');
$connect->Database('cms');
$connect->Fetch('posts');
我想要实现的是这个
$connect = new MySQL('localhost','root','');
$connect->Database('cms');
$connect->Fetch('posts');
我想用这样的格式获取数据
echo $result[0];
但我没有得到这种逻辑来实现这一目标
请帮忙
谢谢!
解决方法:
您的Fetch函数只从数据库中拉出一行,而您没有返回结果…
该方法不是最好的,但为了实现您想要做的事情:
public function Fetch($set_table_name){
$query=mysql_query("SELECT * FROM ".$set_table_name);
$result = array();
while ($record = mysql_fetch_array($query)) {
$result[] = $record;
}
return $result;
}
这将使每行成为$result的一部分,但您必须像这样访问它:
您可以像这样调用fetch函数:
$result = $connect->Fetch('posts');
echo $result[0]['columnName']; // for row 0;
或者循环:
for ($x = 0; $x < count($result); $x++) {
echo $result[$x][0] . "<BR>"; // outputs the first column from every row
}
也就是说,将整个结果集提取到内存中并不是一个好主意(有人会说这是一个非常糟糕的主意.)
编辑:看起来你的班级还有其他问题…我必须跑,但明天会回来查看,如果其他人没有按你说话,我会扩展.
编辑2:好的,要在你的课上做一次性尝试并尝试解释一些事情:
class MySQL {
//declaring the private variables that you will access through $this->variable;
private $host;
private $username;
private $password;
private $database;
private $conn; // Adding the connection, more on this later.
public function __Construct($set_host, $set_username, $set_password){
$this->host = $set_host;
$this->username = $set_username;
$this->password = $set_password;
// Combining the connection & connection check using 'or'
// Notice that I removed the semi-colon after the mysql_connect function
$this->conn = mysql_connect($this->host, $this->username, $this->password)
or die("Couldn't connect");
}
public function Database($set_database)
{
$this->database=$set_database;
// Adding the connection to the function allows you to have multiple
// different connections at the same time. Without it, it would use
// the most recent connection.
mysql_select_db($this->database, $this->conn) or die("cannot select Dataabase");
}
public function Fetch($table_name){
// Adding the connection to the function and return the result object instead
return mysql_query("SELECT * FROM ".$table_name, $this->conn);
}
}
$connect = new MySQL('localhost','root','');
$connect->Database('cms');
$posts = $connect->Fetch('posts');
if ($posts && mysql_num_rows($posts) > 0) {
echo "Here is some post data:<BR>";
while ($record = mysql_fetch_array($posts)) {
echo $record[0]; // or a quoted string column name instead of numerical index.
}
} else {
echo "No posts!";
}
我希望这有帮助……至少应该让你开始.如果您有更多问题,请分别询问.
内容总结
以上是互联网集市为您收集整理的php – 使用OOP从MySQL获取数据全部内容,希望文章能够帮你解决php – 使用OOP从MySQL获取数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。