【问题标题】:How to wite PHP code with the following SQL query?如何使用以下 SQL 查询编写 PHP 代码?
【发布时间】:2014-12-23 14:57:24
【问题描述】:

我正在尝试查询结果,它适用于 SQL 查询,但我正在尝试使用 PHP 获取结果

SELECT prs_amtdb FROM `prs` WHERE prs_amtcrck = 0

【问题讨论】:

    标签: php sql


    【解决方案1】:

    使用 PDO:

    $query = $db->query("SELECT `prs_amtdb` FROM prs WHERE `prs_amtcrck` = 0");
    $results = $query->fetchAll();
    
    foreach($results as $result) {
        echo $result;
    }
    

    http://php.net/manual/en/pdo.query.php

    如果您在查询中使用了用户输入,则应始终使用prepared statements,例如:

    $query = $db->prepare("SELECT `prs_amtdb` FROM prs WHERE `prs_amtcrck` = :atmcrck");
    $query->bindParam(':atmcrck', 0); // 0 will be the user input
    $query->execute();    
    $results = $query->fetchAll();
    
    foreach($results as $result) {
        echo $result;
    }
    

    确保您在 PDO 中设置了数据库连接:

    try {
        $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    } catch (PDOException $e) {
        die($e->getMessage());
    }
    

    http://php.net/manual/en/pdo.connections.php

    【讨论】:

    • 我明白没有必要对固定值使用参数化,但值得指出的是,如果零来自用户输入,从安全角度来看,参数化是一个好主意。
    【解决方案2】:

    使用 mysqli

    注意:确保绑定您的值。 mysqli 不会自动 保护您的查询 $connection= mysqli_connect($host, $user, $password, $database);

    $query="SELECT prs_amtdb FROM prs WHERE prs_amtcrck = 0";
    
    $result=  mysqli_query($connection, $query);//$connection is your database
    
    //connection
    
    //fetch the result
    
    while($row=  mysqli_fetch_array($result)){
            echo $row['column_name'].'<br/>';
    }
    

    【讨论】:

      猜你喜欢
      • 2021-05-01
      • 2014-03-18
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多