如何在 PHP 中执行 SQL 查询?

Posted

技术标签:

【中文标题】如何在 PHP 中执行 SQL 查询?【英文标题】:How do I execute an SQL query in PHP? 【发布时间】:2020-02-21 09:04:50 【问题描述】:

这是一个简单的问题,但似乎没有网站或资源可以告诉我答案。

我有一个如下的 sql 查询:

SELECT COUNT(id) FROM Events

够简单!我如何获得价值?如何在 php 中运行此查询以便打印结果?

(顺便说一句,我知道如何在select语句中逐行打印一些东西,但我这里只需要一个值,所有在线教程都到此为止,不要给我PHP代码. 我已经找了好几天了!就像我会开车一样 - 我只需要有人告诉我在哪里可以找到车钥匙。)

=======

我会进一步解释我的问题。很多人将我指向其他页面(我见过)实际上并没有解释如何获取数据。

到目前为止,这是我的代码:

    $sql8 = "SELECT COUNT(ID) as counter FROM Events";
        $result8 = $conn->query($sql8);
        if ($result8->num_rows > 0) 
            while($row8 = $result8->fetch_assoc()) 
            echo $row8['counter'].".".$row8['COUNT(ID)'];
            
        

这可行,但我认为这不是最有效的编写方式。如何执行此查询?这是我问题的主要部分。我如何从中获得计数是有效的(谢谢),但现在是正确编写它的问题。

谢谢, 布伦丹

【问题讨论】:

w3schools.com/php/func_mysqli_query.asp php.net/manual/pdostatement.fetchcolumn.php#72609 您使用什么扩展/lib 来编写查询? select count(*) from table of mysql in php的可能重复 我阅读了所有这些链接。没有人真正解释完整的答案。他们都有部分代码,我可以在任何地方找到,但不是完整的解决方案。 【参考方案1】:

如果您已经知道如何打印 select 语句数据,您应该对这个查询执行相同的操作。我认为您在映射列时遇到问题:

while($row=$result->fetch_assoc)
  $data=$row['COUNT(id)'];


// or you can use SELECT COUNT(id) as counter FROM Products;

Then you can map the column: $row['counter'];

【讨论】:

好吧,看起来不错,但完整的代码是什么?

以上是关于如何在 PHP 中执行 SQL 查询?的主要内容,如果未能解决你的问题,请参考以下文章

如何优化 sql 查询以避免在没有 php.ini 或设置时间限制的情况下执行最长时间 [关闭]

如何在 CodeIgniter 中执行我的 SQL 查询

在带有 PDO 的 PHP 中,如何检查最终的 SQL 参数化查询? [复制]

在带有 PDO 的 PHP 中,如何检查最终的 SQL 参数化查询? [复制]

php如何防止SQL注入

PHP执行SQL查询