2016-05-25 1 views
0

私のデータベース内のテーブルの抜粋: enter image description hereデータベース内のデータが2つのエントリの間に2つの空白行で入力されるのはなぜですか?

そして、私のPHPはこれです:

<?php 
    $item=""; 
     try{ 
     if (! empty($_POST['item_name'])){ 
     $item=$_POST['item_name']; 
     }   
     $servername = "localhost"; 
     $conusername = "root"; 
     $conpassword = ""; 
     $dbname = "annapoorna"; 
     $dsn='mysql:dbname='.$dbname.';host='.$servername; 
     $conn = new PDO($dsn, $conusername, $conpassword); 
     $sql='INSERT INTO item(item_name) values (:item_name)'; 
     $sth=$conn->prepare($sql); 
     $sth->execute(array(':item_name'=>$item)); 
     } 

catch(PDOException $e){ 
    echo "Error: " . $e->getMessage(); 
    } 
    ?>  

なぜ2つのエントリの間が隙間がありますか?私が作っているすべてのテーブルで起こっています。

+0

'(空の($ _ POST ['item_name']))){}空のエントリを無効にするコードの最後に{ – Saty

+0

? –

+0

はい内部try! – Saty

答えて

1

は条件

if (!empty($_POST['item_name'])){ 
     $item=$_POST['item_name']; 
     $servername = "localhost"; 
     $conusername = "root"; 
     $conpassword = ""; 
     $dbname = "annapoorna"; 
     $dsn='mysql:dbname='.$dbname.';host='.$servername; 
     $conn = new PDO($dsn, $conusername, $conpassword); 
     $sql='INSERT INTO item(item_name) values (:item_name)'; 
     $sth=$conn->prepare($sql); 
     $sth->execute(array(':item_name'=>$item)); 
    } 
0

あなたはそれが設定されている場合にのみ$itemからPOSTパラメータを割り当てている場合には、あなたのアドオンのコードを入れてください。それが設定されていない

if (! empty($_POST['item_name'])){ 
    $item=$_POST['item_name']; 
} 

$itemは、空の文字列と評価され、定義されていません。

$sth->execute(array(':item_name'=>$item)); 

だから、$itemが設定されていないときに挿入しないようにコードを変更することをお勧めします。

0

あなたがしていることは、空でない場合は$_POST['item_name']とし、その値を$itemとし、以下のコードを実行してください。 $_POST['item_name']が空の場合、以下のコードはemtpy変数で実行され、したがって空のレコードが実行されます。 $_POST['item_name']が満たされたとき、それが唯一実行されるようにコードを変更:

<?php 
    $item=""; 
     try{ 
     if (! empty($_POST['item_name'])){ 
     $item=$_POST['item_name']; 

     $servername = "localhost"; 
     $conusername = "root"; 
     $conpassword = ""; 
     $dbname = "annapoorna"; 
     $dsn='mysql:dbname='.$dbname.';host='.$servername; 
     $conn = new PDO($dsn, $conusername, $conpassword); 
     $sql='INSERT INTO item(item_name) values (:item_name)'; 
     $sth=$conn->prepare($sql); 
     $sth->execute(array(':item_name'=>$item)); 
     } 
     } 

catch(PDOException $e){ 
    echo "Error: " . $e->getMessage(); 
    } 
    ?> 

それはあなたの終わりにifステートメントを変更するのと同じくらい簡単です。

関連する問題