Php 使用mysql SELECT时仅接收第一行
当我执行var_dump时,我只得到表中的第一个用户,但我希望得到所有用户。我该怎么做呢?希望这是你的帮助Php 使用mysql SELECT时仅接收第一行,php,mysql,Php,Mysql,当我执行var_dump时,我只得到表中的第一个用户,但我希望得到所有用户。我该怎么做呢?希望这是你的帮助 /** * @param string $nick * @return array|null */ public function getPlayerByNick(string $nick) : ?array{ $query = "SELECT * FROM reports"; $result = $this->connection->query($que
/**
* @param string $nick
* @return array|null
*/
public function getPlayerByNick(string $nick) : ?array{
$query = "SELECT * FROM reports";
$result = $this->connection->query($query);
if($result instanceof \mysqli_result){
$data = $result->fetch_assoc();
$result->free();
var_dump($data);
}
return null;
}
/**
* @param string $nick
* @return array|null
*/
public function getPlayerByNick(string $nick) : ?array{
$query = "SELECT * FROM reports";
$result = $this->connection->query($query);
if($result instanceof \mysqli_result){
while($data = $result->fetch_assoc()){
var_dump($data);
}
$result->free();
}
return null;
}
您必须在行中循环以获得每一行。您的行
$data=$result->fetch_assoc()如果结果为空,则代码>仅加载一行。请尝试而($data=$result->fetch_assoc()){
似乎没有被使用,这只是一个简单的示例吗?请参阅中的示例
/**
* @param string $nick
* @return array|null
*/
public function getPlayerByNick(string $nick) : ?array{
$query = "SELECT * FROM reports";
$result = $this->connection->query($query);
if($result instanceof \mysqli_result){
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["nick"]);
}
}
return null;
}