Php 如何在没有foreach或while的情况下获取mysqli中的assoc?
在mysql中,我们使用Php 如何在没有foreach或while的情况下获取mysqli中的assoc?,php,mysqli,Php,Mysqli,在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_i
$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();
}
?>
当我尝试此操作时,出现了错误
致命错误:调用未定义的函数fetch_assoc()
我希望设置
$userdata
而不使用foreach
或while
,如果第二个参数未设置或为false,那么在Mysqli中get\u results
函数是否可能返回关联数组。因此,无需再次调用fetch\u assoc()
另外,如果您只需要一个数据集,而不想使用循环,则需要执行以下操作:
$userdata=$userdataraw[0]
以获取第一个也是唯一的数据集。$userdataraw
是数组。它没有fetch_assoc
method如果未将第二个参数设置为true,则get_results
函数已返回关联数组。无需再次调用fetch\u assoc()
。@puelo Ok…这样我就可以设置为$userdata=$database->get\u results($query);你能用它吗?我是mysqli的新手…@DrManishJoshi是的。如果只需要一个数据集,而不想使用循环,则需要执行以下操作:$userdata=$userdataraw[0]
@puelo Ohhh是的…它起作用了…你能把它作为答案,这样我就可以把它标记为已接受的答案。。。
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;
}
}