-4
、....我々はforeachやwhileを使わずにmysqliでassocをフェッチする方法は? MySQLでは
$userdata = mysql_fetch_assoc(mysql_query("select * tablename where id=".$_SESSION['user_id']."));
を使用し、我々はそのページ上の任意の場所$userdata
を使用することができます
どのように我々はforeachのか、while文を使用せずにmysqli
でそれを行うことができますか?
私は何をしようとしていることとして使用
<?
include ("db.php");
session_start();
if(isset($_SESSION['user_id']))
{
$userid = $_SESSION['user_id'];
$query = "SELECT * FROM mytable where id= '$userid'";
$userdataraw = $database->get_results($query);
$userdata = $userdataraw ->fetch_assoc();
}
?>
クラスである:私はこれを試したとき、私はforeach
なし$userdata
を設定したいエラー
Fatal error: Call to undefined function fetch_assoc()
を得た
public function get_results($query, $object = false)
{
self::$counter++;
//Overwrite the $row var to null
$row = null;
$results = $this->link->query($query);
if($this->link->error)
{
$this->log_db_errors($this->link->error, $query);
return false;
}
else
{
$row = array();
while($r = (!$object) ? $results->fetch_assoc() : $results->fetch_object())
{
$row[] = $r;
}
return $row;
}
}
またはwhile
、それはMysqliで可能ですか?
'$ userdataraw'は__array__です。 'fetch_assoc'メソッドを持たない –
2番目のパラメータをtrueに設定しないと、' get_results'関数はすでに連想配列を返します。 'fetch_assoc()'をもう一度呼び出す必要はありません。 – puelo
@puelo Ok ...私は$ userdata = $ database-> get_results($ query)として設定できます。それを使用できますか?私はmysqliを初めて使っています... –