Ale*_*der 5 php database arrays terminal curl
我正在尝试为应用程序构建Web服务,因此数据存储在我拥有的在线数据库中.我目前正在构建PHP文件,我很好奇,我怎么能POST一个array使用cURL在终端Mac应用程序.
你看,应用程序将向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
Run Code Online (Sandbox Code Playgroud)
但我不认为这是传递数组的正确方法,因为我相信我的php文档中的代码是正确的,但是存储在我的数据库中的值实际上是单词数组.我认为这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();
Run Code Online (Sandbox Code Playgroud)
我想要实现的是基本上使用一个insert语句将数组中的所有值发布到数据库中.如果这是错的,那么正确的方法是什么?
所有帮助表示赞赏!
谢谢.
Sab*_*san 10
首先确保你想做-F(for multipart/form-data)或-d(for application/x-www-form-urlencoded).在任何一种情况下,这是你应该如何传递数组:
-F "items[]=Item 1" -F "items[]=Item 2"
Run Code Online (Sandbox Code Playgroud)
或使用 -d
-d "items[]=Item 1" -d "items[]=Item 2"
Run Code Online (Sandbox Code Playgroud)
您的服务器将按以下格式接收数据:
[items] => Array
(
[0] => Item 1
[1] => Item 2
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8753 次 |
| 最近记录: |