【发布时间】:2015-09-20 03:07:58
【问题描述】:
嗨_我正在尝试使用 PDO 在我的数据库中的两个单独表中查找两个单独值的总和,但我遇到了一些问题。
我有两个表:“余额”和“奖励”。
“balance”有两个字段:user_id & g_balance。
“reward”有这两个字段:user_id 和rewards。
我试图找出 balance.g_balance 和 reward.rewards 的总和是多少,然后让我的 PHP 文件将结果回显给我的 Javascript 函数。
该函数通过 AJAX POST 将用户的 ID 号发送到 PHP 文件。
<?php
$servername = "myservername";
$username = "myusername";
$password = "mypassword";
$dbname = "mydbname";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT (SELECT g_balance FROM balance WHERE user_id = :userid) + (SELECT rewards FROM reward WHERE user_id = :userid)");
$stmt->bindParam(':userid', $userid);
$userid = $_POST['userid'];
$stmt->execute();
while($row=$stmt->fetch()){
echo $result;
}}
catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
$conn = null;
?>
这段代码不起作用,我不确定在两个单独的 select 语句之间添加 + 是否是实现我想要的正确方法,即使是这样,可能会有更好/更优雅这样做的方式?提前感谢您的帮助。
【问题讨论】:
-
您必须执行 2 次查询,然后将两个值相加。除非您将表格设置为可以加入它们并以这种方式拉动它们的位置。
-
嗨@Skewled 感谢您的评论,我可以在我的数据库上执行连接,但我不确定在这里使用什么类型的连接和语法。
标签: javascript php mysql ajax pdo