java - 使用 php mysqli 获取数组到 java
问题描述
我在 phpmyadmin 中有下表。
表的名称是数据:
我尝试使用 php 文件来获取 user_id 例如等于 3 的所有行,使用准备好的语句如下:
<?php
session_start();
$DATABASE_HOST = "localhost";
$DATABASE_USER = "root";
$DATABASE_PASS = "XXX";
$DATABASE_NAME = "XXX";
$con = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);
if ($stmt = $con->prepare('SELECT code FROM data WHERE user_id = ?')) {
$stmt->bind_param('s', $_POST['user_id']);
$stmt->execute();
$stmt->bind_result($col1);
while ($row = $stmt->fetch()) {
echo $col1;
}
$stmt->close();
}
$con->close();
?>
此代码有效并返回一个包含所有代码的长字符串。
我的最终目标是在 java 中获取一些数组,其中数组中的每个单元格都有一个代码。
从 php 获取可以在 java 中使用的数组的最佳方法是什么?
谢谢
解决方案
我更喜欢使用 JSON,它对于大多数编程语言都是可读的:
//Make an array to collect the results
$rows = array();
while ($row = $stmt->fetch()) {
//add the results to the array
$rows[] = $col1;
}
//print the object:
echo json_encode($rows);
这会返回一个 JSON 数组。PHP.Net: json_encode
在您的 Java 应用程序中,您还可以使用将 JSON 解析为数组或对象 Parse JSON in Java (Stackoverflow)
推荐阅读
- asp.net-core-webapi - 是否有适用于 Google Smart Home Action 的 .NET 客户端库?
- java - 带有@Builder 的Lombok @NonNull 注释未反映在测试覆盖率中
- java - 如何使用 apache camel 扫描 dynamodb 表?
- meshlab - MeshLab 2020.07 在启动时挂起
- google-cloud-platform - 对分区表和聚簇表的计划查询
- python - 用熊猫比较两列
- javascript - 几次重定向后,IFrame 中的 ThreeJS 使移动浏览器崩溃
- apache-kafka - KafkaJS - 找到偏移最有效的方法
- java - java中循环的条件
- xml - 使用 Xpath collection() 函数解析多个 XML