Php 基于$get值的mysql连接
我有两张桌子 联系和投诉 联系人有3列:Php 基于$get值的mysql连接,php,mysql,join,Php,Mysql,Join,我有两张桌子 联系和投诉 联系人有3列: contact_id, contact_name, score 投诉有4栏: complaint_id, contact_id, score_deduction, complaint_type 我可以从上一页获取值$\u GET['complaint\u id'] 我试图做的是删除带有特定投诉id的记录,并获取投诉.score\u扣减的值,然后将其添加回contacts.score 我已经花了好几个小时,似乎还没弄明白 请帮忙 if (isset($
contact_id, contact_name, score
投诉有4栏:
complaint_id, contact_id, score_deduction, complaint_type
我可以从上一页获取值$\u GET['complaint\u id']
我试图做的是删除带有特定投诉id的记录,并获取投诉.score\u扣减的值,然后将其添加回contacts.score
我已经花了好几个小时,似乎还没弄明白
请帮忙
if (isset($_GET['complaint_id'])) {
record_set('complaints',"SELECT * FROM add_complaints WHERE complaint_id = ".$_GET['complaint_id']."");
$contact_id = $row_complaints['contact_id'];
record_set('contact',"SELECT * FROM contacts WHERE contact_id = $contact_id");
$score = $row_contact['contact_score'];
echo $score;
}
您可以将其合并到单个查询中
SELECT * FROM add_complaints AS ac
INNER JOIN contacts AS c on ac.contact_id = c.contact_id
WHERE ac.complaint_id = ?
我不熟悉您用来进行DB查询的任何东西。但我假设您知道如何获取联系人id、当前分数和分数扣减值。并从中进行更新查询和删除查询
如果您想变得更新奇,只需在不需要选择任何内容的情况下就地更新联系人记录,您也可以这样做:
UPDATE add_complaints AS ac
INNER JOIN contacts AS c on ac.contact_id = c.contact_id
SET c.score = c.score - ac.score_deduction
WHERE ac.complaint_id = ?
然后删除投诉
DELETE FROM add_complaints WHERE complaint_id = ?
if(isset($\u GET['complaint\u id')){record\u set('complaints'),“从投诉处添加投诉中选择*”。$\u GET['complaints\u id']。”;$contact\u id=$row\u投诉['contact\u id'];
record\u set('contact',“从联系人中选择*,其中联系人id=$contact\u id=$contact\u id”);$score=$row\u联系人['contact\u score'];echo$score;}请填写您的问题,以便格式清晰。实际的表名是add_投诉和联系人您的代码似乎容易受到注入攻击。Mike,非常感谢您抽出时间。我的头真的撞到墙上了。我对这一切都很陌生。@smitty-欢迎来到StackOverflow=)别忘了标记解决问题的答案。查看更多信息。lethalMango全部标记。我想我会在这里待很长时间。