2016-04-04 5 views
0

アンドロイドアプリを持っていて、ポストメソッド でPHPページに接続しています。ログイン中にユーザーがエラーを見ることができないためmysqli_real_escape_string私のアプリにアンドロイドでアンドロイドアプリのポストメソッドを使用しているときにmysqlエスケープ文字列が十分です

私のケースでSQLインジェクションを防ぐのに十分なエスケープ文字列ですか?

がデータを投稿するアンドロイドでボレーを使用しています

$email = $_POST['email']; 
$email = mysqli_real_escape_string($con,$email); 
+0

おそらく。あなたはクエリをビルドするコードを表示できますか? – rjdown

答えて

0

これは、変数が文字列の内側にあるかどうかに依存し、それは、その後であれば、あなたはかなり安全だが、ノーがあるはずです単に代わりに準備されたステートメントを実装する理由があります。その詳細については、こちらをご覧ください:http://php.net/manual/en/mysqli.prepare.php

以下の例は、そのサイトからのものです。

<?php 
$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$city = "Amersfoort"; 

/* create a prepared statement */ 
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) { 

    /* bind parameters for markers */ 
    $stmt->bind_param("s", $city); 

    /* execute query */ 
    $stmt->execute(); 

    /* bind result variables */ 
    $stmt->bind_result($district); 

    /* fetch value */ 
    $stmt->fetch(); 

    printf("%s is in district %s\n", $city, $district); 

    /* close statement */ 
    $stmt->close(); 
} 

/* close connection */ 
$mysqli->close(); 
?> 
関連する問題