2016-04-03 6 views
-1

データベースに値を挿入するPHPスクリプトを作成しましたが、機能していません。接続にエラーがなく、データベースにエラーもありません。PHPでmysqlに挿入できません

私もphpMyAdminの中でクエリを試してみましたが、それは完璧に動作し、私を助けてください、ここで私がパスワードを変更したことを実行することができ、コードがあります。..

<?php 
    $con= mysqli_connect("mysql.hostinger.in","u744363236_users","stackoverflow","u744363236_users"); 
     // Check connection 
    if ($con->connect_error) { 
     die("Connection failed: " . $con->connect_error); 
    } 

    $name1 = $_POST['name']; 
    $phone1 = $_POST['phone']; 
    $password1 = $_POST['password']; 
    $sql = "INSERT INTO users (name,phone,password) VALUES ($name1,$phone1,$password1)"; 
    if(mysqli_query($con,$sql)){   
     echo 'succeed'; 
    } 
    else{ 
     echo 'failure';  
    } 
    mysqli_close($con); 
?>  
+2

文字列値のための単一引用符を使用するか、いっその準備statements.Alsoは、ユーザーの資格情報を入れてはいけません何百万人ものユーザーがいるサイトで – Mihai

+0

私は一重引用符を試しました..まだ動作していません...結果は失敗しています...そして、ちょっと大まかなデータベースですが、ヒントに感謝します...まだパスワードを変更しました.. :)その他の提案.. ??? –

+0

HTMLを表示.. – Mihai

答えて

0

チェタン。私が説明するように変更してください。 $ SQLの

は次のように使用し、directlly文字列に$ NAME1を使用しないでください「『$ NAME1。』」

<?php 
$con= mysqli_connect("localhost","root","","test"); 
// Check connection 
if ($con->connect_error) { 
    die("Connection failed: " . $con->connect_error); 
} 


$name1 = "Hirendrasinh"; 
$phone1 = "9428416590"; 
$password1 = "Test1234"; 
$sql = "INSERT INTO users (name,phone,password) VALUES ('".$name1."','".$phone1."','".$password1."')"; 

if(mysqli_query($con,$sql)){ 

    echo 'succeed'; 
} 
else{ 
    echo 'failure'; 

} 
mysqli_close($con); 
?> 
+0

http://stackoverflow.com/questions/ 60174/how-can-i-prevent-sql-injection-in-php?rq = 1 –

+0

ありがとうございます...魅力的なように働いています。前のコード.. :) –

+1

@Hirendrasinh S. Rathod:二重引用符の中に '$ name'を直接使うことができます。 @ChetanPant:SQLの文字列を一重引用符で囲む必要があります。したがって、 '$ name'を値として挿入したい場合は、' '$ name''を記述する必要があります。 – Reversal

関連する問題