我有一个关于php和mysql的oop问题。
我正在使用oop处理PHP7,我想建立一个类连接。在这些班级里
我有一个方法,可以生成对数据库的查询并将其存储在数组中。我希望该数组的结果在另一个文件的另一个类中打开。如果使用if语句,则发送单个值;如果使用while循环,则在另一个文件中请求向量时不显示任何内容。我想创建这个方法来避免重写对数据库连接的调用。
这是将继承显示数据的类的代码。
public function open_connection()
{
$this->connect = new mysqli( self::$SERVER, self::$USER, self::$PASS, $this->DB ) or die ( "Error" );
}
public function close_connection()
{
mysqli_close( $this->connect );
}
protected function execute_a_fetch_query( )
{
$this->open_connection();
$orderA = $this->connect->query( $this->query );
$orderB = $this->connect->query( $this->query );
if ( $this->rows = mysqli_fetch_array( $orderA ) ) { //this sentence avoid a duplicate result from the query
if ( $this->rows = mysqli_fetch_array( $orderB ) );
}
$this->close_connection();
}
这里是show类中的另一个方法
public function data( $attributes = array() )
{
$this->query = 'select * from Supplier';
$this->execute_a_fetch_query();
echo '<tr>';
for ( $i = 0; $i < count( $this->_attributes ); $i++ ) {
echo
'<td>'. $this->rows[ $attributes[ $i ] ]. '</td>';
}
1条答案
按热度按时间jq6vz3qz1#
在oop中,您有一个构造函数,它可以在示例化对象时通过建立连接来帮助您,这样您就不必使用它了
$this->open_connection();
在每个查询中。而不是创建
open_connection()
函数使用所以呢
$obj = new BaseClass();
将打开连接。在同一类中也可以有一个私有变量
private $dataObject
可以在查询中设置$this->$dataObject = $result;
以及一个可以调用以返回变量的公共函数。