php - 3 个示例如何在 mysql 中输出 JSON。它们在 mysqli 中应该是什么样子?

标签 php mysql mysqli

下面是从 MySQL 数据库中选择数据并将其输出为 json/array 的三个选项。不过,查询是在 mysql 中的……如果使用新的 mysqli,它们会是什么样子?所有三个选项均应保留。

<?php

// Connect to MySQL
$link = mysql_connect( 'host', 'user', 'password' );
if ( !$link ) {
die( 'Could not connect: ' . mysql_error() );
}

// Select the data base
$db = mysql_select_db( 'database', $link );
if ( !$db ) {
  die ( 'Error selecting database \'test\' : ' . mysql_error() );
}

// Fetch the data
$query = "
  SELECT category, value1, value2
  FROM table
  ORDER BY value1 ASC";
$result = mysql_query( $query );

// All good?
if ( !$result ) {
  // Nope
  $message  = 'Invalid query: ' . mysql_error() . "\n";
  $message .= 'Whole query: ' . $query;
  die( $message );
}

// Print out rows (Option 1)
while ( $row = mysql_fetch_assoc( $result ) ) {
  echo $row['category'] . ' | ' . $row['value1'] . ' | ' .$row['value2']  . "\n";  
}

// Print out rows (Option 2)
$prefix = '';
echo "[\n";
while ( $row = mysql_fetch_assoc( $result ) ) {
 echo $prefix . " {\n";
 echo '  "category": "' . $row['category'] . '",' . "\n";
 echo '  "value1": ' . $row['value1'] . ',' . "\n";
 echo '  "value2": ' . $row['value2'] . '' . "\n";
 echo " }";
 $prefix = ",\n";
}
echo "\n]";

// Print out rows (Option 3)
$data = array();
while ( $row = mysql_fetch_assoc( $result ) ) {
  $data[] = $row;
}
echo json_encode( $data );

// Close the connection
mysql_close($link);

最佳答案

您首先要调用seek函数。

while ($row = mysql_fetch_assoc($result)) {
    // do stuff with $row
}

mysql_data_seek($result, 0);

while ($row = mysql_fetch_assoc($result)) {
    // do other stuff with $row
}

请参阅...

http://php.net/manual/en/function.mysql-data-seek.php

关于php - 3 个示例如何在 mysql 中输出 JSON。它们在 mysqli 中应该是什么样子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34150833/

相关文章:

php - 警告 : Cannot modify header information - headers already sent by

php - 将 iOS 应用程序连接到连接到当前在线网站的 mysql 数据库

php - mysqli_free_result() : Object of class mysqli_result could not be converted to string

php - MySQL 与 PHP 的连接不起作用

php - laravel 将大型 xml 文件解析到 mysql

php - Fusionchart 不显示数据库 mysql

php - 通过将图像保存在数据库中来减少 http 请求?

java - 覆盖数据库中的资源

mysql - 存储的 MySQL 查询中的 Where 子句问题

php - fatal error :调用未定义的方法 mysqli::bind_param()