2017-06-20 83 views
0

我想一个PHP编写的语句的结果保存到一个数组,然后写出来(回声)PHP编写的语句将结果放入数组

<?php 

require_once "DBinit.php"; 

$vpisna=$_POST['vpisna']; 

$dbh = DBInit::getInstance(); 



$stmt = $dbh->prepare("SELECT * FROM studenti"); 


$stmt->bindValue(':id_student', $id_student); 
$stmt->bindValue(':ime', $ime); 
$stmt->bindValue(':priimek', $priimek); 
$stmt->bindValue(':naslov', $naslov); 
$stmt->bindValue(':email', $email); 
$stmt->bindValue(':vpisna', $vpisna); 
$stmt->bindValue(':geslo', $geslo); 
$stmt->bindValue(':status', $status); 

$stmt->execute(); 


     $result = $stmt->fetch(PDO::FETCH_ASSOC); 


     //$result = mysqli_query($con,"SELECT * FROM studenti"); 

     echo "<table border='1' width='100%'> 
     <tr> 
     <th> Št.</th> 
     <th>Ime</th> 
     <th>Priimek</th> 
     <th>Naslov</th> 
     <th>Email</th> 
     <th>Vpisna številka</th> 
     <th>Geslo</th> 
     <th>Status</th> 
     </tr>"; 

     while($row = mysqli_fetch_array($result)) { 
      echo "<tr>"; 
      echo "<td>" . $row['id_student'] . "</td>"; 
      echo "<td>" . $row['ime'] . "</td>"; 
      echo "<td>" . $row['priimek'] . "</td>"; 
      echo "<td>" . $row['naslov'] . "</td>"; 
      echo "<td>" . $row['email'] . "</td>"; 
      echo "<td>" . $row['vpisna'] . "</td>"; 
      echo "<td>" . $row['geslo'] . "</td>"; 
      echo "<td>" . $row['status'] . "</td>"; 

      echo "</tr>"; 
     } 

     echo "</table>"; 


?> 

谢谢你的帮助。

这应该写出(在浏览器中)与他们的信息的学生列表。

我无法弄清楚如何将stmt结果保存到数组中以使用$ row读取它。

+1

你似乎是混合PDO和mysqli – RamRaider

+0

您还将值绑定到没有占位符的语句。 –

+0

PDO有一个'fetchAll'方法〜'PDOStatement :: fetchAll' - 使用该方案 – RamRaider

回答

0

起初,你必须插入新行用INSERT语句...

$row = [ 
    'ime' => 'Bob', 
    'email' => '[email protected]' 
]; 
$sql = "INSERT INTO studenti SET ime=:ime, email=:email"; 
$dbh->prepare($sql)->execute($row); 

...那么你可以选择输出的所有行:

$stmt = $dbh->query('SELECT * FROM studenti'); 
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
    echo "<tr>"; 
    echo "<td>" . htmlspecialchars($row['email'], ENT_QUOTES, 'UTF-8') . "</td>"; 
    // ... 
    echo "</tr>"; 
}