2016-12-01 6 views
1

Я пытаюсь отправить некоторые данные в базу данных MySQL, которую я сохранил на сервере. Когда я нажимаю кнопку отправки, мои PHP-скрипты позволяют мне знать, что соединение с БД прошло успешно, но вложения данных нет. Я не могу найти какую-либо проблему в журналах ошибок или явную проблему, когда я просматриваю код с помощью инструментов разработчика Google Chrome.Невозможно вставить данные в базу данных MySQL, используя (PHP, AJAX, JQ)

Ниже приведен HTML-файл;

<html> 
<head> 
    <title>Home</title> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <meta name="viewport" content="width=device-width"> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css"/> 

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.3.min.js"></script> 

    <script type="text/javascript" src="http://example.com/JS/functions.js"></script> 

    <script type="text/javascript" src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 

    //CSS 
    <style> 
     .ui-page { 
      background: #4990E2; 
     } 
       p { 
      color: #ffffff; 
     } 
    </style> 
</head> 
     div data-role="page" id="page1"> 
     <div data-role="header" data-theme="a"> 
    <h1>Welcome</h1> 
     </div> 
        <!-- Main page content goes under this line --> 
<div data-role="main" class="ui-content"> 
    <br> 
    <br> 
    <br> 
<form id="myForm" method="post" action="include.php"> 
    <label for="rating">How are you feeling?</label> 
    <input type="range" name="rating" id="rating" value="50" min="0" max="100" data-popup-enabled="true"> 
    <input id="submit" type="submit" data-inline="true" value="Submit"> 
</form> 
    <br> 
    <br> 
     <span id="result"></span> 
    <br> 
     <p>Some text</p> 
</div> 

<div data-role="footer" data-position="fixed" data-theme="b"> 
    <div data-role="navbar"> 
      <ul> 
       <li><a href="#page1" class="ui-btn-active ui-state-persist" data-transition="none">Home</a></li> 
       <li><a href="#page2" data-transition="none">Example</a></li> 
       <li><a href="#page3" data-transition="none">Example</a></li> 
       <li><a href="#page4" data-transition="none">Example</a></li> 
      </ul> 
     </div> 
    </div> 
</div> 
           <!-- Page ends here --> 
           <!--    --> 

Ниже PHP файл (db.php);

<?php 

//put your connection code here 
    $servername = 'localhost'; 
    $username = 'user_admin'; 
    $password = '12345-678'; 
    $dbname = 'my_DB'; 

//create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 

    // Check connection 
    if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
    } 
    echo "Connected successfully, <br>"; 
?> 

Ниже PHP файл (include.php);

<?php 

include 'db.php'; 

$rating = $_POST['rating']; 

$sql="INSERT INTO user Values('$rating')"; 
if(mysqli_query($conn,$sql)){ 
     echo "Successfully Inserted"; 
} else { 
     echo "Did NOT insert"; 
} 
?> 

Ниже файл Javascript (functions.js);

// AJAX-ify the slider 
$(document).on("pagecreate","#page1",function() 
{ 

$("#submit").click(function() { 

$.post($("#myForm").attr("action"), 
    $("#myForm :input").serializeArray(), 
    function(info){ $("#result").html(info); 
    }); 
}); 

$("#myForm").submit(function() { 
return false; 
    }); 
}); 

В таблице MySQL называется «пользователь» и столбец называется «рейтинг». Столбец устанавливается как int (3) [это должно совпадать с максимальным значением ползунка 100?].

Может ли кто-нибудь определить, почему данные не вставляются в БД?

+2

Вы захватили содержимое переменной $ SQL и попытался запустить их вручную с базой данных? Вы также можете изменить свое эхо от «НЕ Вставить» и использовать функцию mysqli_error(), чтобы понять, что происходит. –

+0

Попробуйте поместить 'mysqli_query ($ conn, $ sql) или умереть (mysqli_error ($ conn))' и посмотреть, есть ли какие-либо ошибки из mysql –

+0

@NorlihazmeyGhazali Вы хотите разместить этот код внутри файла PHP вместо if/else заявление, которое в настоящее время существует? – Skin99

ответ

1

изменить это

$ SQL = "INSERT INTO пользователей VALUES ('$') рейтинг";

этот рейтинг

$sql="INSERT INTO user (`rating`) VALUES ('$rating')"; 

бы имя столбца для этого поля в БД, если таблица имеет более чем один столбец, то утверждение нужно сказать, в какой колонке он должен быть помещен ,

также показать ошибки заявления использовать этот

if(mysqli_query($conn,$sql) or die(msqli_error($conn))){ 
    ... your code here > it worked 
}else{ 
    ... your code here > it failed 
} 
+0

Он отлично работает. Благодарю. – Skin99