2016-04-03 97 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

我试过单引号..仍然不工作..结果是失败...并感谢提示,虽然这只是粗略的数据库... bt仍然我已经改变了密码.. :)其他建议.. ??? –

+0

显示HTML .. – Mihai

回答

0

扯谈。按照我的描述改变。为$ SQL

不要使用$名1字符串directlly,使用像“‘$名称1。’”

<?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