2017-11-19 7 views
2

製造元を選択して製品の名前を書くことができる医薬品のフォームを作成しました。ユーザーが間違えてしまった場合は、入力を修正するようにユーザーに叫んでください。この目的のために、フロントエンドとバックエンドの検証を行っていますが、そのエントリはデータベース に入ります。例えば、ユーザがすでに存在する場合はユーザ名を選択し、このユーザが既に存在する場合はメッセージを表示します。データベースに行きます。複数のテーブルエントリを1つのアクションで入力

第2段階のSELECTでは、1つのテーブルからのデータがいくつかの検証を行い、別のテーブルに保存します。私が欲しいのはそれをどうやってやるのか?私はこのコードを試しても、エラーは発生しませんでしたが、データは2番目のテーブルに保存されません。

PHP:

//Select Everything from database 
$perm = "SELECT * FROM test"; 
$result34 = mysqli_query($dbc, $perm); 

if ($perm) { 
    //How many rows 
    $count = mysqli_num_rows($result34); 

    //Retrieve data 

    if($count==1) { 

    $rows = mysqli_fetch_array($result34); 
    $namex= $rows['name']; 
    $categoryx = $rows['category']; 

    //takeout the spaces and strip tags 

    $namey = strip_tags($namex); 
    $category = str_replace(' ', '', $category); 


    //INSERT INTO TABLES 

    $sql34 = "INSERT INTO final1 (Name, Category) VALUES ($namey, $category);"; 
    $result55 = mysqli_query($dbc, $sql34); 
     } 
    } 

EDIT:プリペアドステートメント

$sql2 = "INSERT INTO final1 (Name, Category) VALUES (?, ?);"; 
    $stmt1 = mysqli_stmt_init($dbc); 

    if (!mysqli_stmt_prepare($stmt1, $sql2)) { 
     echo "SQL error"; 
    } else { 
     mysqli_stmt_bind_param($stmt1, "ss", $namey, $category); 
     mysqli_stmt_execute($stmt1); 
    } 
+0

文字列を挿入する場合は、値を引用符で囲む必要があります – nogad

+0

このような意味ですか? $ sql34 = "INSERT INTO final1( '名前'、 'カテゴリ')VALUES($ namey、$ category);"; –

+0

これを試したところ $ sql34 = "INSERT INTO final1( 'Name'、 'C​​ategory')VALUES( '$ namey'、 '$ category');";まだ動作していません –

答えて

2

オーケーおかげで、すべてのあなたのみんな...

ちょうど今解決される問題を

$count >=1を変更! ありがとう

関連する問題