目标:将数据库的整个列转换为一个值,以便在文本字符串中发送它。
方法API:
define('SLACK_WEBHOOK', 'https://hooks.slack.com/services/xxx/xxx/xxx');
$message = array('payload' => json_encode(array('text' => " $row[0] $row[1] $row[2] ")));
$c = curl_init(SLACK_WEBHOOK);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, $message);
curl_exec($c);
curl_close($c);
以数组存储:
$result = mysql_query("SELECT Name FROM items");
$row = mysql_fetch_array($result);
$row[0] $row[1] $row[2]
只返回DB列中的一个项目。
答案 0 :(得分:1)
如果您尝试从字符串中执行任意一段PHP代码,那么eval就是您要寻找的。
但是我只能说,不要这样做,特别是如果您正在使用字符串的用户输入。这样做将允许用户针对该站点运行任何PHP并为您打开各种漏洞。您最好提供一些您控制的API,以便以这种方式进行访问。
编辑:
我在eval
页面的第一条评论中找到了这句话,它总结了一切。
如果eval()是答案,你几乎肯定会问错误的问题。 - Rasmus Lerdorf,PHP的BDFL
答案 1 :(得分:0)
首先,您必须使用php函数json_decode将json字符串转换为数组。然后,您需要将数组修改为所需的格式,然后将其发送到您的api(检查api可以处理您的数据的格式)以进行进一步处理。