2016-04-03 7 views
-1

Я создал php-скрипт, который вставляет значения в мою базу данных, но он не работает, нет никакой ошибки в соединении, также нет ошибки в базе данных.Невозможно вставить в mysql через php

Я также попытался запрос в 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

Chetan. как я описываю. за $ SQL

Не используйте $ name1 в строке directlly, использовать как «„ $ 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

Смежные вопросы