gpt4 book ai didi

javascript - 将 SQL 数组数据解析为 php mail()

转载 作者:行者123 更新时间:2023-11-30 21:43:55 24 4
gpt4 key购买 nike

我正在执行 SQL SELECT 来检索客户端数据,然后从中生成电子邮件。被解析为 API 的 $param 是一个对象:

var param = {
delivery_id: "string",
order_id: "string",
}

然后使用 order_id 查询第二个表:

$param = $_REQUEST['param'];
$param = json_decode($param);
$collname = "orders";
$sql = 'SELECT * FROM '.$collname.' WHERE `id` = '.$param->order_id;

$result = $conn->query($sql);
//$conn is defined externally, and is not the cause of the problem

$aData = array();

if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$aData[] = $row;
}
sendEmail($aData);
} else {
echo "Error";
}

mysqli_close($conn);

第一个查询非常合理,当 $aData 作为字符串返回到前端时,它看起来符合预期;一组对象(一个对象)。

但是当我尝试在 sendEmail 函数中访问它时,它无法访问键值。当我尝试回显 json_encode($aData[0]->id) (不起作用)而不是仅仅回显 json_encode($aData[0]) (有效)。

电子邮件实际上被发送到硬编码的密件抄送邮件,但数组中没有任何值。

function sendEmail(&$aData){

$to = $aData[0]->contact_email;
$subject = "".$aData[0]->id;
$txt = "Something something ".$aData[0]->contact.",
something something.
";
$headers = "From: email@email.com" . "\r\n" .
"BCC: email@email.com";

mail($to,$subject,$txt,$headers);
}

如何访问 API 中的对象键?

编辑:S.DEV 回答的问题。由于数据是作为关联数组而不是对象返回的,因此正确的定位语法是 $aData[0]['id']。

最佳答案

您可以尝试如下操作:

while($row = $result->fetch_assoc()) {
//$aData[] = $row;
sendEmail($row);
}
//function sendEmail(&$aData){
function sendEmail($aData){

关于javascript - 将 SQL 数组数据解析为 php mail(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50368468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com