Я пытаюсь вставить данные в mysql, пробовал все, но ничего не работало
вот мой код:
Javascript:
<script type="text/javascript">
$(document).ready(function(){
$("#rating-btn").click( function(){
var teaching=$("#teaching").val;
var marking=$("#marks").val;
var helpfulness=$("#helpfulness").val;
var difficulty=$("#difficulty").val;
var grade=$("#grade").val;
var com=$("#com").val;
$.ajax({
type: "POST",
url:"db/ajax.php",
data:"teaching=" + teaching +"&marking="+ marking +"&helpfulness="+ helpfulness
+"&difficulty="+difficulty+"&grade="+grade+"&com="+com,
dataType: "dataString",
cache: "true",
success: function(msg,string,jqXHR){
$("#results").html(msg+string+jqXHR);
}
});
});
});
ajax.php
<?php
error_reporting(0);
require 'db/connect.php';
$teaching = $_POST['teaching'];
$teaching = mysql_real_escape_string($teaching);
$marking = $_POST['marking'];
$marking = mysql_real_escape_string($marking);
$helpfulness = $_POST['helpfulness'];
$helpfulness = mysql_real_escape_string($helpfulness);
$difficulty = $_POST['difficulty'];
$difficulty = mysql_real_escape_string($difficulty);
$grade = $_POST['grade'];
$grade = mysql_real_escape_string($grade);
$com= $_POST['com'];
$sql = "INSERT INTO ratings VALUES ( '', '{$teaching}', '{$marking}' ,'{$helpfulness}', '{$difficulty}' ,'{$grade}' , '2' , '{$com}')";
mysqli_query($sql);
?>
connect.php
<?php
$db= new mysqli('localhost','root','','instructors');
if($db->connect_errno){
die("we are having some problems");
}
?>
Я попытался использовать код sql и работал на странице phpmyadmin.
Итак, чего не хватает, что препятствует проникновению данных в базу данных?
UPDATE: когда я пытаюсь повторить все переменные, и их значения обычно появляются, я также пытался это сделать:
$sql = "INSERT INTO 'ratings' VALUES ( '', '3.5', '2.5' ,'4.5', '2.5' ,'1' , '2' , 'hello how are you')";
он не вставляет эти значения в базу данных
но когда я ставлю тот же код sql в phpmyadmin, он добавит строку отлично
Кажется, ваш Js-код имеет некоторые недостающие paranthesis. > ou следует заменить "val" на вызов функции "val()"
var teaching=$("#teaching").val();
var marking=$("#marks").val();
var helpfulness=$("#helpfulness").val();
var difficulty=$("#difficulty").val();
var grade=$("#grade").val();
var com=$("#com").val();
Впоследствии вы должны получить некоторые значения в PHP-land, которые можно вставить.
Кроме того, вы смешиваете процедурный и OOP-код.
mysqli_query($sql);
... по крайней мере, отсутствует соединение в качестве первого параметра. Но так как вы сохранили экземпляр mysqli_connection уже в $ db, попробуйте заменить его:
$db->query($sql);
исправлена моя проблема, просто используя объект $ db, который я уже создал в connect.php в ajax.php
вместо написания
query(&sql)
решение:
$db->query($sql);
спасибо всем за помощь.
Что все говорили о mysql и mysqli. Кроме того, вы должны добавить & между vars.
data:"teaching=" + teaching +"&marking="+ marking +"&helpfulness="+ helpfulness
+"&difficulty="+difficulty+"&grade="+grade+"&comment="+comment,
mysqli_query()
?$comment
НЕ удалось избежать), и вы просто предполагаете, что операции с БД никогда не могут завершиться неудачей. Плохое предположение. Попробуйтеmysql_query($sql) or die(mysql_error())
и наслаждайтесь сообщениями об ошибках.