私はPHPにかなり慣れていないので、探し回っていて、探している特定の答えが見つからないようです。
次のようなSQLクエリを作成します。
$result = mysqli_query($connection, $command)
if (!$result) { die("Query Failed."); }
// Create my array here ... I'm thinking of maybe having to
// make a class that can hold everything I need, but I dunno
while($row = mysqli_fetch_array($result))
{
// Put the row into an array or class here...
}
mysqli_close($connection);
// return my array or class
基本的に、結果の内容全体を取得し、行と同様の方法でアクセスできる配列を作成します。たとえば、「uid」というフィールドがある場合、myData ['uid']で取得できるようにします。複数の行が存在する可能性があるため、おそらくmyData [0] ['uid']、myData [1] ['uid']などのようになります。
任意の助けをいただければ幸いです。
できるよ:
$rows = [];
while($row = mysqli_fetch_array($result))
{
$rows[] = $row;
}
配列に mysqli_result::fetch_all()
を使用しようとする場合があります。
$result = mysqli_query($connection, $command)
if (!$result) { die("Query Failed."); }
$array = $result->fetch_all();
$result->free();
mysqli_close($connection);
注:これは MySQLND のみで動作します。
クラスでは、次のようなものを使用しようとする場合があります。
$result = mysqli_query($connection, $command)
if (!$result) { die("Query Failed."); }
while($model = $result->fetch_assoc()){
// Assuming ModelClass is declared
// And have method Push() to append rows.
ModelClass::Push($model);
}
$result->free();
mysqli_close($connection);
またはこれ:
// Base Model - abstract model class.
class ModelClass extends BaseModel {
// constructor
public function __construct(mysqli &$dbms){
// $this->dbms is MySQLi connection instance.
$this->dbms = &$dbms;
// $this->models is buffer for resultset.
$this->models = array();
}
// destructor
public function __destruct(){
unset($this->dbms, $this->models);
}
public function read(){
$result = $this->dbms->query($command);
if($this->dbms->errno){
throw new Exception($this->dbms->error, $this->dbms->errno);
}
$this->models = $result->fetch_all();
$result->free();
}
}
//object oriented style mysqli
//connect to your db
$mysqli = new mysqli("Host", "user", "password", "dbname");
$result = $mysqli->query("SELECT * FROM `table`");
//use mysqli->affected_rows
for ($x = 1; $x <= $mysqli->affected_rows; $x++) {
$rows[] = $result->fetch_assoc();
}
//this will return a nested array
echo "<pre>";
print_r($rows);
echo "</pre>";
これを編集してクラスに配置し、データベースでクエリを実行するときに呼び出すだけです。