如果我想从连接到具有多值字符串的 mysql 数据库的 php webservice 中获取值......例如,我应该如何将它写在 url 中。
我想要的是:
login?next=initial_page?email=(1,2,3)
如果网络服务看起来像这样:
select * from login where email in (('".$_GET["email"]."'))
有可能还是有更好的方法,可以说我会发送一个数组,那么我将如何编写php webservice?
如果我想从连接到具有多值字符串的 mysql 数据库的 php webservice 中获取值......例如,我应该如何将它写在 url 中。
我想要的是:
login?next=initial_page?email=(1,2,3)
如果网络服务看起来像这样:
select * from login where email in (('".$_GET["email"]."'))
有可能还是有更好的方法,可以说我会发送一个数组,那么我将如何编写php webservice?
1)如果值是integer这样传递的
login?next=initial_page&email=1,2,3
^ // here it should be & not ?
查询将是
$sql = "select * from login where email in (".$_GET["email"].")";
注意:在将字符串嵌入查询之前转义字符串以防止SQL injection.
2)另一种方法是您可以以JSON格式发布数据并PHP最终用于json_decode解码该数据并在查询中使用它。
您可以像这样在每个输入之间使用&字符:
login.php?next=initial_page&email=(1,2,3)
如果需要,您可以稍后像这样拆分它:
<?php
// url= test.php?inputs=1,2,3
$myVar=$_GET['inputs'];
print_r($myVar);
$myArray=explode(',', $myVar);
print_r($myArray);
?>
像这样试试
要么是数字(1,2,3,...)
或 (aaa@domain.com,bbb@domain.com,ccc@domain.com,...)
除了 ('1','2','3') 和 ('aaa@domain.com','bbb@domain.com','ccc@domain.com') 之外的 sql 查询
网址:
login?next=initial_page&email=1,2,3
or
login?next=initial_page&email=aaa@domain.com,bbb@domain.com,ccc@domain.com
^ //it should be &
在 php 文件中获取它
$email = $_GET['email'];
$email_array = explode(",",$email);
$email = implode("','",$email_array);
select * from login where email in ('$email')