【问题标题】:How to return more mysql rows in function?如何在函数中返回更多的mysql行?
【发布时间】:2021-12-12 05:17:56
【问题描述】:

我想在 PHP 中创建一个函数来返回一个 mysql 结果列表。但我也想输入我自己的 tekst。

当我回显时,我得到了结果,但我想返回值。

 function Get() {
 $sql = mysqli_query($link, "SELECT * FROM blabla");
 $value4 = 'certain';
 while($approw = mysqli_fetch_array($sql)){

 $value= 'Fun '. $approw['value1'].' '.$approw['value2'].' '.$approw['value3'].'percent '.$value4.'<br />' ;

 }
   return $value.' Powered by Hisenseb';
 }
 ?>

在此期间,结果可以随时更改 我怎样才能做到这一点?谁能告诉我怎么做?提前致谢。

【问题讨论】:

  • $value 应该是串联字符串的数组
  • 您希望一个函数返回搜索到的行,而另一个函数执行您的 concat 格式操作。拆分任务 - 这样您就可以重复使用它们。

标签: php mysql loops while-loop


【解决方案1】:

mysqli::connect() 对象作为参数传递给Get() 函数,例如,选择array 作为返回值,用于存储来自sql 查询的结果集和所需文本。试试看:

function Get(mysqli $connect)
{
   $ret = [];
   $value4 = 'certain';

   if ($res = $connect->query("SELECT * FROM blabla")) {
      $row = $res->fetch_all(MYSQLI_ASSOC);
      $ret['mytext'] = 'Fun '. $row['value1'].' '.$row['value2'].' '.$row['value3'].'percent '.$value4.'<br />' ;
      $ret['result-set'] = $row;
   }
   $connect->close();
   return count($ret) > 0 ? $ret : false;
}

现在只需调用函数:

$conn = new mysqli("localhost","user","password","database");
$result = Get($conn);

$sql = $result['result-set'];
$mytext = $result['mytext'];

// You can then get the data from the sql table using the column names of your table:

$column1 = $sql['column1']; //Now in $column1 you have the value from the SQL table from column column1.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 2015-09-30
    • 2019-03-16
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    相关资源
    最近更新 更多