2017-03-13 22 views
-2

このコードでは、データはデータベースに挿入されません。このショーデータは既に追加されていますmysqliの挿入が自分のコードで動作しません

このコードはデータがデータベースに挿入されていません。あなたのコメントで言うようにこの番組データが既に

<?php session_start(); 




include('../includes/dbcon.php'); 

$uid=$_POST['uid']; $category = $_POST['category']; 

    $result = mysqli_query($con,"SELECT cat_name FROM category where user_id=".$_SESSION['id']); 
     $count = mysqli_num_rows($result); 

     if ($count==0) 
     { 
      mysqli_query($con,"INSERT INTO category(cat_name,user_id) 
       VALUES('$category','$uid')")or die(mysqli_error()); 
       echo "<script type='text/javascript'>alert('Successfully added new category!');</script>"; 
       echo "<script>document.location='category.php'</script>"; 
     } 
     else 
     { 
       echo "<script type='text/javascript'>alert('Category already added!');</script>"; 
       echo "<script>document.location='category.php'</script>"; 
     } 

?> 
+0

「機能しない」とはどういう意味ですか?エラーメッセージはありますか? SQLインジェクションを防ぐために準備されたステートメントについて学ぶ – Jens

+0

エラーが発生しない – knotty

+0

ステートメントが機能しないと思われる理由は何ですか? – Jens

答えて

0

を追加され、エラーがあるようです:

「この文を通じ、それはカテゴリを示していた後、私は一つだけカテゴリを追加することができますすでに追加されます"

しかし、それはまさにあなたのコードがすることです。正常に動作しています。

新しいカテゴリを挿入すると、セッション変数であるuser_idが保存されます。

mysqli_query($con,"INSERT INTO category(cat_name,user_id) 
      VALUES('$category','$uid')")or die(mysqli_error()); 

次に、あなたがこの方法を確認してください。

$result = mysqli_query($con,"SELECT cat_name FROM category where user_id=".$_SESSION['id']); 
    $count = mysqli_num_rows($result); 

だから、あなたはあなたのセッションIDが格納されている新しいカテゴリを挿入したとき。同じ$ _SESSION ['id']を持つ新しい挿入を試すと、既に存在する結果になります。

希望する

関連する問題