PHP初学者(来自asp)使用带记录集的数组

时间:2015-05-15 20:03:48

标签: php arrays mysqli

来自经典ASP的PHP新手。 打开记录集然后使用getrows放入数组是一个好习惯 并尽快关闭记录集和连接。

目前我正在使用像这样的mysqli(TQ w3schools):

$conn = new mysqli($mysql_servername, $mysql_user, $mysql_pass);
$sql = "SELECT product_name FROM table";
$Aprods = $conn->query($sql);
while($row = $Aprods->fetch_assoc()) {
    echo $row["product_name"];
}
$conn->close();

这一切似乎都运行正常,但请告知这是否是一个好的做法(没有数组),还关闭连接? TQ

2 个答案:

答案 0 :(得分:2)

最好使用准备好的陈述

$conObj = new mysqli("host", "user", "pass", "db");
    //Creates sql template
    $prepare = $conObj->prepare("SELECT * FROM `users`");
    //Executes Query
      $prepare->execute();
      //Store Result
        $prepare->store_result();
        //And fetch
        while($prepare->fetch())
        {
           //db items
        } 

      //after you finish, close statement
      $prepare->close();

您可以在CRUD(INSERT,SELECT,Delete,Update)操作期间使用它,也是保护您的应用程序免受SQL注入的好方法

答案 1 :(得分:0)

如果您不使用ActiveRecord或ORM,这是正常做法。

我重新使用PDO代替MySQli。它是一个类似的库,但是你可以使用pdo:$ array = $ res-> fetchAll()并直接获得数组中的结果。