【发布时间】:2020-05-27 05:51:02
【问题描述】:
想要将动态 GET 变量转换为两个内部变量,以便我可以在 SQL 查询中使用这些值。
我正在将一个变量字符串传递给这样的 URL
http://localhost/api-data?serial=1923473
http://localhost/api-data?manufacturer=jaguar
http://localhost/api-data?location=london
http://localhost/api-data?country=uk
我想将 GET 数据转换成两个不同的变量,例如 serial 变成 $data1,1923473 变成 $data2。 GET 数据始终采用上述格式我只想转换成两个不同的变量。
print_r($_GET);
我可以看到变量像数组一样传递。我的问题,如果数据以下列格式 AAAAA=BBBBB 作为获取变量传递,我如何将 AAAAA 转换为变量 $data1 并将 BBBBBB 转换为 £data2。请记住,GET 数据始终是唯一的。
一旦我将这些数据包含在 2 个唯一变量中,我想运行 SQL 查询。
select blah1, blah2, blah4, blah5 from datastore where $data1 = "$data2";
提前谢谢你。
【问题讨论】:
-
if(isset($_GET["serial"])) { $data1 = "serial"; $data2 = $_GET["serial"]; }可能...但是您确实需要使用准备好的语句stackoverflow.com/questions/60174/… -
我知道它会起作用,但问题是我不知道用户会传递什么数据,串行就是一个例子,用户可以发布或发送 GET 任何唯一数据。
-
您的数据库中只有某些列,因此您需要检查是否允许获取 var。
-
问题就在这里
where $data1 = "$data2";你不能“参数化”列名。 -
@DinoCoderSaurus:但是你可以得到数据。