php sqlite添加数据后返回,PHP SQLite JSON数据复制

我有以下PHP代码:

$testMessage = "TESTMESSAGE";

$db = new SQLite3('messages.sq3');

$db->exec('CREATE TABLE messages(id INTEGER PRIMARY KEY, message CHAR(255));');

$db->exec("INSERT INTO messages (message) VALUES ('$testMessage');");

$results = $db->query('SELECT * FROM messages ORDER BY id DESC LIMIT 5');

while ($row = $results->fetchArray()) {

print_r($row);

}

产生的print_r:

Array ( [0] => 1 [id] => 1 [1] => TESTMESSAGE [message] => TESTMESSAGE )

为什么要重复这些数据?这只是数组的显示方式还是真的有TESTMESSAGE字符串的两个副本?检查sqlite文件,我只看到一个实际存储在其中的文件.我正在尝试通过JSON序列化输出,并且此重复一直在进行序列化.

解决方法:

默认设置是将具有数字键和字符串键的数据合并到同一数组中.

您需要使用$results-> fetchArray(SQLITE3_NUM)或$results-> fetchArray(SQLITE3_ASSOC)分别获取数字键和字符串键.默认值为SQLITE3_BOTH,我一直讨厌它.

标签:php,json,sqlite,serialization

来源: https://codeday.me/bug/20191011/1895106.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要从MySQL数据库检索数据并将其显示在Android应用程序中,您需要使用以下步骤: 1. 创建一个PHP文件来连接MySQL数据库并执行查询操作。 2. 在Android应用程序中使用Volley库进行HTTP请求并获取PHP文件返回JSON数据。 3. 解析JSON数据并将其显示在TextView中。 以下是示例代码: 1. 创建PHP文件: ``` <?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database_name"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // Execute query and get results $sql = "SELECT * FROM table_name"; $result = $conn->query($sql); // Convert results to JSON format $rows = array(); while($r = mysqli_fetch_assoc($result)) { $rows[] = $r; } echo json_encode($rows); // Close connection $conn->close(); ?> ``` 2. 在Android应用程序中使用Volley库进行HTTP请求并获取PHP文件返回JSON数据: ``` // Instantiate the RequestQueue. RequestQueue queue = Volley.newRequestQueue(this); String url = "http://example.com/get_data.php"; // Request a string response from the provided URL. JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, url, null, new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { // Parse JSON data and display in TextView try { JSONObject jsonObject = response.getJSONObject(0); String data = jsonObject.getString("column_name"); textView.setText(data); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // Handle error } }); // Add the request to the RequestQueue. queue.add(jsonArrayRequest); ``` 3. 解析JSON数据并将其显示在TextView中: 在上面的代码示例中,我们仅获取了JSON数组的第一个元素并从中获取了特定列的值。您可以根据需要解析JSON数据并将其显示在TextView中。 希望这可以帮助您开始从MySQL数据库检索数据并将其显示在Android应用程序中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值