2016-07-24 5 views
-2

私は列のテーブルを持っています:
tags_id |タグ| user_id
1 |アンドロイド携帯サイト7
2 | windows | 7
3 | windows | 2
4 | mac | 7
5 | windows | 1
6 | windows | 3user_idに対応するすべての行を削除します

このようにしたいのは、すべての行をuser_id = 7で削除することです。 ここで 'tags_id'はauto_incrementであり、タグはユーザーから返され、user_idはユーザープロファイルからも返されます。 しかし、私は以下のコードから変更はありません。ユーザーフィールドの名前が、それは間違っているので

<?php 
if($_SERVER['REQUEST_METHOD']=='POST'){ 

    //Getting values 
    $user_id = $_POST['user_id']; 


    //Creating an sql query 
      $sql = "DELETE FROM user_tags WHERE user_id = '$user_id'"; 


    //Importing our db connection script 
    require_once('dbConnect.php'); 

    //Executing query to database 
    if(mysqli_query($con,$sql)){ 
     echo 'Tags updated'; 
    }else{ 
     echo 'Tags could not be update'; 
    } 

    //Closing the database 
    mysqli_close($con); 
} 
+0

チェックこれを防ぐための文を作成しました。 http://www.w3schools.com/php/php_mysql_delete.asp – Danieboy

答えて

2

は、ここに私のPHPコードです。後

$sql = "DELETE FROM user_tags WHERE users_id = '$user_id'"; 

$sql = "DELETE FROM user_tags WHERE user_id = '$user_id'"; 

もう一つのヒント:使用して準備された文の前に

:あなたが使用users_idの代わりに、下記のuser_id.See VEの。こちらのリンクを参照してください:http://www.w3schools.com/php/php_mysql_prepared_statements.asp

+0

変更後もまだ動作していません –

2

使用常に注入

<?php 
require_once('dbConnect.php'); 

$delete_user_tags = $con->prepare(" DELETE from user_tags WHERE user_id = ? "); 
$delete_user_tags->bind_param("i", $user_id); 

if (isset($_POST['user_id'];)) { 
    $user_id = $_POST['user_id']; 
    if (!$delete_user_tags->execute()) { 
     echo ('Tags could not be update'); 
    } else { 
     echo ('Tags updated!'); 
    } 

} 
+0

あなたのコードは完全に私に感謝しています。今ではuser_idに対応するすべてのタグが削除されていますので、新鮮なものを挿入する必要があります私はこのコードを使用しました:$ sql = "INSERT INTO user_tags(tags、user_id)VALUES( '$ tags'、 '$ user_id'); 。 –

+0

答えを受け入れてください。あなたが準備したstatemntを使用しなければならないコードと同じです。あなたのコードを知らないよりも..私はタグの配列だと思います。 –

関連する問題