我有树桌
ID A
-----------
1 10
ID B
-----------
1 20
2 30
ID C
-----------
2 40
3 50
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉如何制作视图或查询这样的打印件?
ID A B C R (A + B - C)
-----------------------------------
1 10 20 0 30
2 0 30 40 -10
3 0 0 50 -50
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我正在尝试在我的远程php服务器上的app billing v3中验证android.
但是,我的代码似乎有些不对劲.
我认为这个openssl_verify函数是个问题.
结果总是失败!
我找不到用openssl_verify验证的第一个参数.实际上,我混淆了第一个参数放置的合理格式:(
你能帮我解决一下吗?
$result = openssl_verify($data["purchaseToken"], base64_decode($signature), $key); // original // failed
Run Code Online (Sandbox Code Playgroud)
低于完整的测试代码.
<?php
$responseCode = 0;
$encoded='{
"orderId":"12999763169054705758.1111111111111",
"packageName":"com.xxx.yyy",
"productId":"test__100_c",
"purchaseTime":1368455064000,
"purchaseState":0,
"purchaseToken":"tcmggamllmgqiabymvcgtfsj.AO-J1OwoOzoFd-G-....."
}';
$data = json_decode($encoded,true);
$signature = "tKdvc42ujbYfLl+3sGdl7RAUPlNv.....";
$publicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2kMri6mE5+.....";
$key = "-----BEGIN PUBLIC KEY-----\n" . chunk_split($publicKey, 64, "\n") . "-----END PUBLIC KEY-----";
$key = openssl_get_publickey($key);
if (false === $key) {
exit("error openssl_get_publickey");
}
var_dump($key);
$result = openssl_verify($data["purchaseToken"], base64_decode($signature), $key); // original // failed
//$result = openssl_verify($data, base64_decode($signature), $key); // failed …Run Code Online (Sandbox Code Playgroud)