2017-08-18 7 views
-1

アンドロイドスタジオからデータを送信しようとしていますが、データを割り当てる代わりにテーブルの下に行が表示されています。 どこが間違っているのか分かりません.Plzは私を助けます。事前に感謝します。なぜ私はphpmyadmin(localhost)のテーブルの下に行を表示していますか

enter image description here

これは add_employee

<?php 
include('connection.php');                 
if (isset($_POST["name"])){ 
    $emp_name = $_POST["name"]; 
    echo $emp_name; 
    echo "is your name"; 
} 
else{ 
    $emp_name = NULL; 
    echo "POST filename is not assigned"; 
} 

$success = 0; 
$status = "Active"; 
$sqli = "INSERT INTO `employee` (`emp_name`) VALUES ('$emp_name')"; 

if(mysqli_query($conn,$sqli)){ 
    $success=1; 
} 

$response["success"]=$success; 
die(json_encode($response)); 
mysqli_close($conn); 
?> 

私のPHPコードであるConnection.php

<?php 
$dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = ''; 
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);  
if(!$conn) { 
    die('Could not connect: ' . mysqli_error()); 
} 
mysqli_select_db($conn,'student'); 
?> 
+0

少なくとも24のNULL値を入力しました。私はあなたが値を持っていない限り、データベースに何も挿入しないことをお勧めします。 – aynber

+0

ありがとうございます!私はデータベースを2回削除して、何度も再起動しました。悪い運があります。私はうまく動作しませんでした。PHPコードは正しいですか? –

+0

IF文の内部でデータベース呼び出しを移動するので、送信する有効なデータがある場合にのみデータを送信します。私はあなたがSQLインジェクションに広く関わっているので、[prepared statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)を見てみてください。問題。 – aynber

答えて

-1

あなたはあなたのコードで非常に多くのエラーを持っています。 db名なし、適切なクエリ定義はありません。それは働いて、あなたのために理解するのは簡単です

<?php 

if (isset($_POST["name"])){ 
    $emp_name=$_POST["name"]; 
    echo $emp_name; 
    echo "is your name"; 
} 
    else{ 
    $emp_name = null; 
    echo "POST filename is not assigned"; 
    } 

    $success=0; 
    $status="Active"; 

    $sql = "INSERT INTO employee (name) 
    VALUES ('$emp_name')"; 

    if ($conn->query($sql) === TRUE) { 
     $success=1; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 

    $conn->close(); 
    ?> 

:従業員のコードを挿入

Connection.php

<?php 

$servername = "localhost"; 
     $username = "root"; 
     $password = ""; 
     $dbname = "slim"; 

     // Create connection 
     $conn = new mysqli($servername, $username, $password, $dbname); 
     // Check connection 
     if ($conn->connect_error) { 
      die("Connection failed: " . $conn->connect_error); 
     } 
?> 

:あなたはこの単純なコードを使用することができます。

+0

誰かがなぜ答えが下降したのか教えてください。 –

+0

あなたは間違ったデータを連結しています。問題の1つは、投稿データがない場合でもPOSTデータを渡すことです。 – aynber

+0

あなたが私に与えた最も理想的な理由。私はロジックとシンプルなソリューションを与えました。他のファイルにdb接続のコードをコピーできませんか? –

関連する問題