【问题标题】:How to put my PHP results into an output variable?如何将我的 PHP 结果放入输出变量中?
【发布时间】:2016-05-30 01:41:45
【问题描述】:

下面的代码从数据库表中选择行,但我想选择 10 个随机行并将它们放在一个输出变量中,如下面的代码。不是特别是 csv,而是模仿下面的。

$result = mysqli_query($dbc, "SHOW COLUMNS FROM customer");
$numberOfRows = mysqli_num_rows($result);
if ($numberOfRows > 0) {
    $values = mysqli_query($dbc, "SELECT * FROM customer");
    while ($rowr = mysqli_fetch_row($values)) {
     for ($j=0;$j<$numberOfRows;$j++) {
      $csv_output .= $rowr[$j].", ";
     }
     $csv_output .= "\n";
    }

    }

print $csv_output;
exit;

首先我想随机选择 10 行,然后用上面的代码输出它们。

我的代码:

<?php 

DEFINE ('DBUSER', ''); 
DEFINE ('DBPW', ''); 
DEFINE ('DBHOST', ''); 
DEFINE ('DBNAME', ''); 

$dbc = mysqli_connect(DBHOST,DBUSER,DBPW);
if (!$dbc) {
    die("Database connection failed: " . mysqli_error($dbc));
    exit();
}

$dbs = mysqli_select_db($dbc, DBNAME);
if (!$dbs) {
    die("Database selection failed: " . mysqli_error($dbc));
    exit(); 
}

 $query = 'Select * FROM Funsies
 Order By Rand()
 Limit 5'; 

 $result = mysqli_query($dbc, $query);
 ?>

【问题讨论】:

  • 查找php\MySQL的基础教程
  • 你有什么比 w3schools sql 更高级的推荐吗?

标签: php mysql sql select random


【解决方案1】:
SELECT name
  FROM random AS r1 JOIN
       (SELECT (RAND() *
                     (SELECT MAX(id)
                        FROM random)) AS id)
        AS r2
 WHERE r1.id >= r2.id
 ORDER BY r1.id ASC
 LIMIT 1
INTO OUTFILE 'c:\\users\\desktop\\file_name.csv' 
fields TERMINATED BY ',' enclosed by '"'
LINES TERMINATED BY '\r\n';

【讨论】:

  • 我如何将它检索到的十行放入 $csv_output 中,如顶部代码?
猜你喜欢
  • 1970-01-01
  • 2020-01-06
  • 1970-01-01
  • 1970-01-01
  • 2014-07-14
  • 2015-12-04
  • 2013-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多