Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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 PDO和MYSQL表_Php_Mysql_Pdo - Fatal编程技术网

Php PDO和MYSQL表

Php PDO和MYSQL表,php,mysql,pdo,Php,Mysql,Pdo,在过去的几天里,我一直在边走边学习,边走边捡代码片段,一直在做这件事,现在我已经认输寻求帮助 我正在尝试使用PDO计算数据库中2列的总和 这是我的密码 <?php $host = "localhost"; $db_name = "dbname"; $username = "root"; $password = "root"; try { $con = new PDO("mysql:host={$host};dbname={$db_name}", $username, $passw

在过去的几天里,我一直在边走边学习,边走边捡代码片段,一直在做这件事,现在我已经认输寻求帮助

我正在尝试使用PDO计算数据库中2列的总和

这是我的密码

<?php
$host = "localhost";
$db_name = "dbname";
$username = "root";
$password = "root";

try {
    $con = new PDO("mysql:host={$host};dbname={$db_name}", $username, $password);
}

// show error
catch(PDOException $exception){
    echo "Connection error: " . $exception->getMessage();
}

$query = "SELECT SUM (fill_up) AS TotalFill, 
                 SUM (mileage_covered) AS Totalmiles 
                 FROM fuel_cost";

$row = $query->fetch(PDO::FETCH_ASSOC);
$total_fill = $row['TotalFill'];
$total_miles = $row['Totalmiles'];           
$myanswer = $total_fill/$total_miles;

//display the answer
echo $myanswer               
?>

我还检查了我的数据库表,两列都是varchar(32)

我得到的错误是对非对象调用成员函数fetch() 我已经对此进行了搜索,但不确定上面的代码有什么问题 提前感谢您

请尝试以下代码:-

<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "dbname";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT SUM (fill_up) AS TotalFill, 
                 SUM (mileage_covered) AS Totalmiles 
                 FROM fuel_cost";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while ($row = $result->fetch_assoc()) {

        $total_fill = $row['TotalFill'];
        $total_miles = $row['Totalmiles'];
        $myanswer = $total_fill / $total_miles;

//display the answer
        echo $myanswer;
        die;
    }
} else {
    echo "0 results";
}
$conn->close();
?>


我已经根据我的问题修改了你的答案,但仍然给我一个错误$行=$con->query(“选择SUM(加油)作为TotalFill,SUM(里程覆盖)作为距燃油成本的总里程”);感谢您的回答:)请检查我更新的代码并尝试此代码@RichardRansomI非常感谢您在这方面的帮助我遇到另一个错误lol尝试获取行上非对象的属性如果($result->num_rows>0){请在数据库中执行此查询查询查询中的空格为:)