【问题标题】:Output a column from a SELECT using a PHP variable使用 PHP 变量从 SELECT 中输出一列
【发布时间】:2019-10-10 03:56:46
【问题描述】:

我有一个名为 $couponCode 的变量,它的值来自一个文本字段。

这是回显值的代码

  $couponCode = trim($_POST['p_code']);

  $coupons = $mcPromoCode->SelectPromoCode($db, $couponCode);

  $output = $couponCode;

  echo '<script type="text/javascript">alert("'.$output.'");</script>';

选择的 SQL

  public function SelectPromoCode($db, $couponCode) {
    $stmt = $db->prepare(
      "   SELECT coupon_code, coupon_level, coupon_days
          FROM `promocodes`
          WHERE used = 0 AND coupon_code = :coupon_code
          ");

    $stmt->bindValue(':coupon_code', $couponCode, PDO::PARAM_STR);
    $stmt->execute();
    $rows = $stmt->rowCount(PDO::FETCH_ASSOC);
    return $rows;
  }

我关心的是我的输出变量。

$output = $couponCode;

如果我使用它回显,它会显示我的文本字段中的字符串。

现在我也想回显我的coupon_level 和coupon_days

我试过这些:(当然一次一个)

$output = $coupons['coupon_code'];
$output = $coupons['coupon_level'];
$output = $coupons['coupon_days'];

但是我用这个的时候echo里面什么都没有。

【问题讨论】:

  • 对 php 不太确定,但您正在尝试将 rowcount 保存在 $rows 变量中。您应该使用 fetch 保存数据吗?相反,您正在保存行数?
  • 您正在获取 rowcount()? $stmt-&gt;rowCount(PDO::FETCH_ASSOC);

标签: javascript php sql


【解决方案1】:

您正在从查询中返回行数。您应该返回查询的结果集。

下面是代码

public function SelectPromoCode($db, $couponCode) {
    $stmt = $db->prepare(
      "   SELECT coupon_code, coupon_level, coupon_days
          FROM `promocodes`
          WHERE used = 0 AND coupon_code = :coupon_code
          ");

    $stmt->bindValue(':coupon_code', $couponCode, PDO::PARAM_STR);
    $stmt->execute();
    $result = $stmt->fetch(PDO::FETCH_ASSOC);
    return $result;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 2011-12-15
    相关资源
    最近更新 更多