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\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\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;干得好,干杯