Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不求整列的和_Php_Mysql_Sql - Fatal编程技术网

Php 不求整列的和

Php 不求整列的和,php,mysql,sql,Php,Mysql,Sql,由于这个原因,它没有计算第一笔付款的整列金额我尝试了“从\客户信息中选择金额(首次付款)”,它作为未识别的索引首次付款返回。有什么原因吗 <?php error_reporting(E_ALL); ini_set("display_errors", 1); $pay=$_REQUEST['payment']; // MySQL database connection, username, password, database name

由于这个原因,它没有计算第一笔付款的整列金额<代码>我尝试了“从\客户信息中选择金额(首次付款)”,它作为未识别的索引首次付款返回。有什么原因吗

    <?php
    error_reporting(E_ALL);
    ini_set("display_errors", 1);


    $pay=$_REQUEST['payment']; 

    // MySQL database connection, username, password, database name
    $con=mysqli_connect("localhost","user","pass","db_name");

    // Check connection
    if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    if ($pay=="first") 
      $query="SELECT *, SUM(first_payment) FROM `Customer Information`";
else if ($pay=="second") 
      $query="SELECT *, SUM(second_payment) FROM `Customer Information`";
else if ($pay=="third") 
      $query="SELECT *, SUM(third_payment) FROM `Customer Information`";
else if ($pay=="fourth") 
      $query="SELECT *, SUM(fourth_payment) FROM `Customer Information`";


    $result = mysqli_query($con,$query);

    // Executing and error checking of query
    if (!mysqli_query($con,$query)) {
      die('Error: ' . mysqli_error($con));
    }


    while ($row = mysqli_fetch_array($result)) {
    switch($pay)
    {
       case "first":
          echo $row['first_payment'];
          break;
       case "second":
          echo $row['second_payment'];
          break;
       case "third":
          echo $row['third_payment'];
          break;
       case "fourth":
          echo $row['fourth_payment'];
          break;
       default:
          echo "nothing selected";
    }
    }
    mysqli_close($con);
    ?>

更改查询,并为代码中使用的金额提供正确的别名。请尝试以下操作

if ($pay=="first") 
   $query="SELECT *, SUM(first_payment) AS first_payment FROM `Customer Information`";
else if ($pay=="second") 
   $query="SELECT *, SUM(second_payment) AS second_payment FROM `Customer Information`";
else if ($pay=="third") 
   $query="SELECT *, SUM(third_payment) AS third_payment FROM `Customer Information`";
else if ($pay=="fourth") 
   $query="SELECT *, SUM(fourth_payment) AS fourth_payment FROM `Customer Information`";

请更改查询并为代码中使用的金额总和提供正确的别名。请尝试此操作

if ($pay=="first") 
   $query="SELECT *, SUM(first_payment) AS first_payment FROM `Customer Information`";
else if ($pay=="second") 
   $query="SELECT *, SUM(second_payment) AS second_payment FROM `Customer Information`";
else if ($pay=="third") 
   $query="SELECT *, SUM(third_payment) AS third_payment FROM `Customer Information`";
else if ($pay=="fourth") 
   $query="SELECT *, SUM(fourth_payment) AS fourth_payment FROM `Customer Information`";

除了上面提供的答案,您还必须知道哪里出了问题:

在select语句中,您选择的是字段的总和,而不是试图检索其结果的字段本身,因此出现了错误“未定义索引…”


正如上面的答案一样,为总和指定一个别名,并在while循环中使用它来检索它。

除了上面提供的答案之外,您还必须知道出了什么问题:

在select语句中,您选择的是字段的总和,而不是试图检索其结果的字段本身,因此出现了错误“未定义索引…”

如上所述,为总和指定一个别名,并在while循环中使用它来检索它

  • 从查询中提取数组时,请使用MYSQLI_ASSOC:

    mysqli\u fetch\u数组($result,mysqli\u ASSOC);

    或者使用
    mysqli\u fetch\u assoc()
    函数:

    mysqli\u fetch\u assoc($result)

  • 对查询中的摘要列使用别名:

  • 例如:

    "SELECT *, SUM(first_payment) AS SUMMARY  FROM `Customer Information`";
    
    此外,最好在执行任何操作之前检查
    $pay
    变量,以避免不必要的数据库连接,如下所示:

    <?php
    error_reporting(E_ALL);
    ini_set("display_errors", 1);
    
    $pay=$_REQUEST['payment']; 
    // first of all: let's check $pay variable:
    switch($pay)
    {
       case "first":
          $row_index = 'first_payment';
          break;
       case "second":
          $row_index = 'second_payment';
          break;
       case "third":
          $row_index = 'third_payment';
          break;
       case "fourth":
          $row_index = 'fourth_payment';
          break;
       default:
          echo "nothing selected";
          return;  // return if nothing is selected, no need to run any database manipulations.
    }
    
    // MySQL database connection, username, password, database name
    $con=mysqli_connect("localhost","user","pass","db_name");
    // Check connection
    if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    // prepare query:
    $query="SELECT *, SUM(".$row_index.") AS SUMMARY  FROM `Customer Information`";
    
    // Executing and error checking of query
    if (!$result = mysqli_query($con,$query)) {
      die('Error: ' . mysqli_error($con));
    }
    while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
      echo $row['SUMMARY'];
    }
    mysqli_free_result($result); // don't forget to free query results
    mysqli_close($con);
    ?>
    
    
    
  • 从查询中提取数组时,请使用MYSQLI_ASSOC:

    mysqli\u fetch\u数组($result,mysqli\u ASSOC);

    或者使用
    mysqli\u fetch\u assoc()
    函数:

    mysqli\u fetch\u assoc($result)

  • 对查询中的摘要列使用别名:

  • 例如:

    "SELECT *, SUM(first_payment) AS SUMMARY  FROM `Customer Information`";
    
    此外,最好在执行任何操作之前检查
    $pay
    变量,以避免不必要的数据库连接,如下所示:

    <?php
    error_reporting(E_ALL);
    ini_set("display_errors", 1);
    
    $pay=$_REQUEST['payment']; 
    // first of all: let's check $pay variable:
    switch($pay)
    {
       case "first":
          $row_index = 'first_payment';
          break;
       case "second":
          $row_index = 'second_payment';
          break;
       case "third":
          $row_index = 'third_payment';
          break;
       case "fourth":
          $row_index = 'fourth_payment';
          break;
       default:
          echo "nothing selected";
          return;  // return if nothing is selected, no need to run any database manipulations.
    }
    
    // MySQL database connection, username, password, database name
    $con=mysqli_connect("localhost","user","pass","db_name");
    // Check connection
    if (mysqli_connect_errno()) {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    // prepare query:
    $query="SELECT *, SUM(".$row_index.") AS SUMMARY  FROM `Customer Information`";
    
    // Executing and error checking of query
    if (!$result = mysqli_query($con,$query)) {
      die('Error: ' . mysqli_error($con));
    }
    while ($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) {
      echo $row['SUMMARY'];
    }
    mysqli_free_result($result); // don't forget to free query results
    mysqli_close($con);
    ?>
    
    
    
    $query=“SELECT*,SUM(“.$pay.”作为“$pay.”付款。从
    客户信息中付款
    ”$query=“SELECT*,SUM(.$pay.”作为“$pay”。\u从
    客户信息中付款
    “@Fred-ii-,答案现在看起来好多了。谢谢你的更新!:)非常欢迎。顺便说一句,我真的很喜欢你提出这个解决方案的方式。当我最初看到它时,我做了+1;做得很好,,cheers@Fred-二-,现在答案看起来好多了。谢谢你的更新!:)非常欢迎。顺便说一句,我真的很喜欢你提出这个解决方案的方式。当我最初看到它时,我做了+1;干得好,干杯