我正在尝试为应用程序构建Web服务,因此数据存储在我拥有的在线数据库中。我目前正在构建php文档,我很好奇我如何在{strong>终端Mac应用程序中使用POST
array
cURL
["String 1", "String 2", "String 3"]
。
您会看到,应用程序会将包含字符串的数组发送到Web服务。例如像curl -F "user_id=1" localhost/test/webservice.php"
这样的东西。
但是为了测试我将用于将这些值插入数据库的代码是否有效,我需要以某种方式将此数据传递给Web服务。到目前为止,我一直在使用 Mac终端应用并发布如此curl -F "user_id=1" -F "title=Random title 123" -F "num_items=2" -F "items[]=[Item 1, Item 2]" localhost/test/webservice.php
,但我不知道如何传递数组。
到目前为止我所拥有的是:
items[]
但我不认为这是传递数组的正确方法,因为我相信我的php文档中的代码是正确的,但是存储在我的数据库中的值实际上是单词 array 。我相信=
是启动它的正确方法,但我对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();
关键字:
{{1}}
我想要实现的是基本上使用一个insert语句将数组中的所有值发布到数据库中。如果这是错的,那么正确的方法是什么?
感谢所有帮助!
感谢。
答案 0 :(得分:8)
首先确保您要-F
(适用于multipart/form-data
)或-d
(适用于application/x-www-form-urlencoded
)。在任何一种情况下,这是你应该如何传递数组:
-F "items[]=Item 1" -F "items[]=Item 2"
或使用-d
-d "items[]=Item 1" -d "items[]=Item 2"
您的服务器将按以下格式接收数据:
[items] => Array
(
[0] => Item 1
[1] => Item 2
)