在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();
}
?>
类别用作:
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;
}
}
当我尝试这个时,我得到了错误
致命错误:调用未定义的函数fetch_assoc()
我想在没有foreach
或while
的情况下设置$userdata
,这在Mysqli中可能吗??
get_results
函数已返回关联数组。因此不需要再次调用CCD_ 7。
此外,如果您只期望一个数据集,而不想使用循环,则需要执行以下操作:$userdata = $userdataraw[0]
以获得第一个也是唯一的数据集。