mysql_connectを使用するのと同じ方法でmysqli_connectを使用しようとすると少し問題が発生します
これは私のコードの例です:
QUERY.PHP
class classQuery{
public function __construct(){
require('conex/classConex.php');
require('conex/statement/classStatement.php');
$this->ObjConex = new classConex;
$this->ObjStatement = new classStatement;
}
public function Query($email){
$this->ObjConex->Conex();
$query='SELECT user_email from table where email='.mysql_real_escape_string($email).'';
$consulta = $this->ObjStatement->Select($query);
return $consulta;
}
クラスステートメント
class classStatement{
public function __construct(){
$this->ObjConex = new classConex;
}
public function Select($query){
$query_execute = mysql_query($query);
while($row = mysql_fetch_row($query_execute)){
$consulta=htmlentities($row[0]);
}
return $consulta;
}
}
クラスCONEX
class classConex{
public function Conex(){
require ('conex.php');
mysql_connect ($server,$dbuser,$dbpasswd) or die('Error de Conexión');
mysql_select_db($dbname);
}
}
さて、今私はmysql_connectの代わりにmysqli_connectを使用したいのですが、phpマニュアルによると、私の新しい接続クラスは次のようになります。
$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
接続がオブジェクトになったので、ClassStatementからクエリを実行するのと同じ方法で実行することはできません。接続クラスからオブジェクトを返すことをテストしましたが、冗長であると思われるコードが増えることを意味します...これを行うためのよりエレガントな方法はありますか?