【发布时间】:2014-05-09 12:31:18
【问题描述】:
我正在尝试为应用程序构建网络服务,因此数据存储在我拥有的在线数据库中。我目前正在构建 php 文档,我很好奇如何在 Mac 终端应用程序 中使用 cURL POST 和 array。
您会看到,应用程序将向 Web 服务发送一个由字符串组成的数组。例如像这样的["String 1", "String 2", "String 3"]。
但是为了测试我将这些值插入数据库的代码是否有效,我需要以某种方式将这些数据传递给 web 服务。到目前为止,我一直在使用 Mac 终端应用程序 并像 curl -F "user_id=1" localhost/test/webservice.php" 这样发布,但我不知道如何传递数组。
到目前为止,我所拥有的是:
curl -F "user_id=1" -F "title=Random title 123" -F "num_items=2" -F "items[]=[Item 1, Item 2]" localhost/test/webservice.php
但我认为这不是传递数组的正确方法,因为我相信我的 php 文档中的代码是正确的,但是存储在我的数据库中的值实际上是单词 array强>。我相信items[] 是启动它的正确方法,但我不太确定=-sign 之后的内容。
有人知道正确的做法吗?
如果这恰好是正确的,那么我在数组中存储数据的方式就有问题。我正在使用 stmt 和 bind_param() 关键字,如下所示:
$items = $_POST["items"]; // This is the array
$stmt = $this->db->prepare('INSERT INTO items (item_id, user_id, title) VALUES (?, ?, ?)');
$stmt->bind_param('iis', $item_id, $user_id, $items);
$stmt->execute();
$stmt->close();
我想要实现的基本上是使用一个插入语句将数组中的所有值发布到数据库中。如果这是错误的,那么正确的做法是什么?
感谢所有帮助!
谢谢。
【问题讨论】:
标签: php arrays database curl terminal