2016-05-26 31 views
-3

データベース内の特定の行のデータを削除します。これは私のコードです、それはデータを削除できません。私は間違ってIDの部分を取得?私は自分のデータベーステーブルに自動インクリメントIDを設定しました。データベースから特定の行のデータを削除する方法

<form name="form1" action="" method="post" enctype="multipart/form-data"> 
    <table> 
     <tr> 
      <td>select files</td> 
      <td><input type="file" name="f1"></td> 
     </tr> 
     <td><input type="submit" name="submit1" value="upload"></td> 
     <td><input type="submit" name="submit2" value="display"></td> 
    </table> 
</form> 

<?php 
$con = mysqli_connect("localhost","root",""); 
mysqli_select_db($con,"fyp")or die(mysqli_error($con));; 
if(isset($_POST["submit2"])) 
{ 
    $sql = "SELECT username, image FROM images where username = '$_SESSION[username]' "; 
    $result = mysqli_query($con,$sql); 
    echo"<table>"; 
    echo "<tr>"; 
    while ($row=mysqli_fetch_array($result)) 
    { 
     echo "<td>"; 
     echo '<img src="data:image/jpeg;base64,'.base64_encode($row['image']).'" height="100" width="100"/>'; 
     echo "<br>"; 
     ?><a href = "delete.php?id=<?php echo $row['id'];?>" class = "delete">Delete</a><?php 
     echo "</td>"; 


    } 
    echo "</tr>"; 
} 

以下のコード私のdelete.phpは、データベースとの対話のためのプリペアドステートメントを使用しなければならない、とを報告し、適切なエラーは必ず設定しなければならない、と

<?php 
$con = mysqli_connect('localhost', 'root', ''); 
mysqli_select_db($con,'images'); 
$id = $_GET["id"]; 
$sql = "DELETE FROM images where id =$id"; 
$result = mysqli_query($con,$sql); 
?> 


<script type="text/javascript"> 
window.location = "furprototype.php" 
</script> 
+0

'$ sql =" SELECT id、username、image' – splash58

+0

ありがとうございました。あなたのコードは動作しています。 – David

+0

は言及していません – splash58

答えて

1
<?php 
error_reporting(E_ALL); 
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 
$con = mysqli_connect('localhost', 'root', '','fyp'); 
$stmt = $con->prepare("DELETE FROM images where id =?"); 
$stmt->bind_param('i', $_GET["id"]); 
$stmt->execute(); 

です間違ったデータベース選択と、フィールドリストの欠落した列のような様々なタイプミスについて警告します。

関連する問題