gpt4 book ai didi

php - 通过数组获取mysql记录的数据?

转载 作者:行者123 更新时间:2023-11-29 07:10:45 28 4
gpt4 key购买 nike

我正在我的网站上工作,我正在尝试实现一个像这样工作的功能:

管理员选中记录上的复选框以显示已收到付款。这些值存储在一个名为 $paymentr 的数组中,该数组被分解并更新 MySQL 数据库。

现在这里是棘手的部分(无论如何对我来说)出现的地方:

执行此操作后,代码会检查有多少行受到影响,然后向另一个人发送一封电子邮件,其中应根据存储在数组中的 ID 列出记录的所有信息。

出于某种原因,我花了很长时间试图弄清楚如何做到这一点。我有一个 foreach 循环在运行类似这样的电子邮件代码之前运行(我简化了查询,因为它更长更复杂,但我已经在 phpmyadmin 中测试了它)--

foreach ($paymentr as $v) {

$query = "SELECT transactions.id, transactions.refid, transactions.affid FROM transactions WHERE transactions.id = '$v'";

$result = mysql_query($query) or die("Query Failed: ".mysql_errno()." - ".mysql_error()."<BR>\n$query<BR>\n");
$trans = mysql_fetch_array($result, MYSQL_ASSOC);

$transactions .= '<br>User ID:'.$trans['id'].' -- '.$trans['refid'].' -- '.$trans['affid'].'';

}

然后 $transactions 变量将在电子邮件代码中发送出去。

可惜没有成功。有人有什么想法吗?我觉得我只是错过了一个关键的部分或想法……任何事情都会有所帮助。也许array_map?我从来没有用过。非常感谢你:)

最佳答案

我试过你的代码,没有发现任何错误。为了帮助调试,您可以尝试添加一些“print_r”和“echo”代码,以便更好地了解正在发生的事情

此外,您提到您的数组已内爆,据我了解,它返回一个字符串,其中数组的值采用 [value][separator][value]... 的形式,当 ' foreach'开始?你发现 $transactions 是空的吗?

print_r ($paymentr);  // <-----  ADDED FOR DEBUG

foreach ($paymentr as $v) {

$query = "SELECT id, refid, affid FROM transactions WHERE id = '$v'";

echo $query . "<br/>"; // <----- ADDED FOR DEBUG, (XHTML <br/> closed tag)

$result = mysql_query($query) or die("Query Failed: ".mysql_errno()." - ".mysql_error()."<BR>\n$query<BR>\n");
$trans = mysql_fetch_array($result, MYSQL_ASSOC);

$transactions .= '<br>User ID:'.$trans['id'].' -- '.$trans['refid'].' -- '.$trans['affid'].'';
}

或者,您可以这样做,减少对数据库的访问:

foreach ($paymentr as $v) { $in_clause .= "'".$v."',"; }
$in_clause = trim($in_clause, ",");
$query = "SELECT id, refid, affid FROM transactions WHERE id IN ($in_clause)";

$result = mysql_query($query) or die("Query Failed: ".mysql_errno()." - ".mysql_error()."<BR>\n$query<BR>\n");
while ( $trans = mysql_fetch_array ( $result, MYSQL_ASSOC ))
{
$transactions .= '<br>User ID:'.$trans['id'].' -- '.$trans['refid'].' -- '.$trans['affid'].'';
}

关于php - 通过数组获取mysql记录的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4687091/

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