PHP : Retrieve multiple data from mysql, 更简单的方法?

标签 php mysql database

我有一个关于从 mysql 数据库检索多行的 php 代码效果很好。但我觉得太重了。以下只是一个摘录,因为我对数据库中的每个单词都使用相同的方法。您有更好的解决方案吗?我可以为所有页​​面只做一个声明,然后将请求的 ID 放在正确的位置吗?感谢您的任何帮助。

  <?php
    $dbname = 'xxxx';
    $dbuser = 'xxxx';
    $dbpass = 'xxxx';
    $dbhost = 'localhost';
    $conn = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
    if ($conn->connect_error)
    {
    echo "connection error" ;
    }
    $sql = "SELECT * FROM test WHERE id='1'";
    $result = $conn->query($sql);
    ?>
    <?php
    if ($result->num_rows > 0) {                                        
    while($data = $result-   >fetch_assoc())
    {
    echo $data['FR']."<br>";
    }       
    } else {
    echo "---";
                                        }
    ?>

                 </h3><a href="index.html" title="">FR|</a>
                    <a href="index_en.html" title="">EN|</a>
                    <a href="index_es.html" title="">ES|</a>
                    <a href="index_cn.html" title="">CHI</a>
                 </div>

                    <nav role="navigation" class="main-nav">
                    <ul>
                        <li class="active">
    <a href="index.html" title=""><?  php
    $conn = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
    if ($conn->connect_error)
    {
    echo "connection error" ;
    }
    $sql = "SELECT * FROM test WHERE id='59'";
    $result = $conn->query($sql);

    ?>
    <?php
    if ($result->num_rows > 0) { while($data = $result->fetch_assoc())
    {echo $data['FR']."<br>"; } } else {echo "---"; }?>

    <?php
    $conn = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
    if ($conn->connect_error)
    {
    echo "Problemes de connexion a la base de données " ;
    }
    $sql = "SELECT * FROM test WHERE id='60'";
    $result = $conn->query($sql);    
    ?>
    <?php
    if ($result->num_rows > 0) { while($data = $result->fetch_assoc())
    {echo $data['FR']."<br>"; } } else {echo "---"; }?>    
    <?php
    $conn = new mysqli($dbhost,$dbuser,$dbpass,$dbname);
    if ($conn->connect_error)
    {
    echo "connection error" ;
    }
    $sql = "SELECT * FROM test WHERE id='61'";
    $result = $conn->query($sql);    
    ?>

最佳答案

当然可以。

SELECT * FROM `test` WHERE `id` IN (59, 60, 61)

您可以根据需要在 IN 子句中填充任意数量的 ID 值,对于每个匹配的 ID,您将在结果中返回一行。

关于PHP : Retrieve multiple data from mysql, 更简单的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47203115/

相关文章:

database - 加快 sqlFetch()

php - 调整 mySql 列的大小以容纳加密数据 - 多少?

php - 交换 php 中找到的数组键

PHP 设置表单值

mysql - 选择多个条目的组合

Mysql Insert into with select from myisam to innodb

python - 在 Django 中,迁移未应用于数据库

php - WordPress 样式

php - 显示 codeigniter 中有多少个结果查询

php - 根据选中的复选框更新数据库