从SQL和echo回显计数

时间:2017-04-12 10:25:44

标签: php mysql

所以,我无法弄清楚为什么我的SQL COUNT不起作用。我已经尝试了几个小时了。我的SQL连接在那里,如果我请求它,则会显示所有其他数据。但计数不起作用。

我只想计算表Product中有多少MirrorWebProductsExpanded

我尝试了以下内容:

<?php $query = "SELECT Count(*) 
as DatabaseCount 
FROM MirrorWebProductsExpanded";

$result = mysqli_fetch_array($sql);?>

My count <?php echo $result['DatabaseCount'];?> 

我也尝试过:

$sql = ("SELECT COUNT(*) FROM MirrorWebProductsExpanded");
$result = mysqli_query($sql);
$out = mysqli_fetch_array($result); ?>

我的数量:

<?php print($out[0][0]); // or print($out[0]); ?> 

<?php $query = "SELECT COUNT(*) c FROM MirrorWebProductsExpanded;";
$result = mysqli_query($query);
$row = mysqli_fetch_assoc($result);
echo "blaat:" . $row['c']; //Here is your count
?>

我可以永远继续我所尝试的但似乎没有任何效果。我做错了什么?

我应该补充一点,我发现的大多数查询都有mysql_querymysql_fetch_array,我将其更改为mysqli其他方面它打破了我的网站(白屏)...任何帮助为什么我的计数不起作用?

2 个答案:

答案 0 :(得分:2)

试试这个:

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

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

$sql = "SELECT count(*) as count from product";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    $row = $result->fetch_assoc();
    echo $row['count'];
} else {
    echo "0 results";
}
$conn->close();
?>

编辑:哦......哦!在这里,您使用有关表和数据库名称的错误详细信息。您正在使用dbname而不是表名。

因此,更改表名称,您的查询将起作用。

答案 1 :(得分:0)

1)缺少连接对象

尝试使用mysqli预备语句

//db connection

     global $conn;

        $servername = "localhost";  //host name

        $username = "username"; //username

        $password = "password"; //password

        $mysql_database = "dbname"; //database name

    //mysqli prepared statement 

        $conn = mysqli_connect($servername, $username, $password) or die("Connection failed: " . mysqli_connect_error());

       mysqli_select_db($conn,$mysql_database) or die("Opps some thing went wrong");

        $stmt = $conn->prepare("SELECT COUNT(*) c FROM table_name");

        $stmt->execute();
        $get_result =$stmt->get_result();

        $row_count= $get_result->num_rows;

        if($row_count>0)
        {

         print_r($get_result->fetch_assoc());

        }

        $conn->close();