2013-07-18 3 views
-4

Я пытаюсь отправить данные с помощью jquery для вставки, но не могу это сделать, переменные правильно получают значения, но я не думаю, что после этого php-страница работает, я не думаю, что есть какая-либо ошибка на странице php. Вот мой кодВставка записи с использованием Ajax

<script> 
function print_this(){ 

var nit =$('#a').val(); 
var reg = $('#b').val(); 
var c = $('#csa').val(); 
var d = $('#dc').val(); 
var e = $('#Ee').val(); 
var f = $('#Er').val(); 
var w = $('#w').val(); 
var h = $('#w').val(); 
var i = $('#i').val(); 
PostValue(a,b,c,d,e,f,w,h,i)} 

function PostValue(a,b,c,d,e,f,w,h,i){ 
$.ajax({ 
type: "POST", 
url: "print.php", 
data: {a:a,b:b,c:c,d:d,e:e,f:f,w:w,h:h,i:i}, 
success:function(data){ 
$("#print").printThis(); 
} 
}) 

}

Вот мой PHP страница

$conn = mysql_connect('localhost','','') or die ("Connection Problem"); 
mysql_select_db("") or die ("Database Problem"); 
function print_this(){ 
$a = $_POST['a']; 
$b = $_POST['b']; 
$c = $_POST['c']; 
$d = $_POST['d']; 
$query = "select * from print where a = $a and b = $b and c = $c and d = $d"; 
$result = mysql_query($query); 
if(mysql_num_rows($result) == 0) 
{ 
$query = "INSERT INTO print (id ,a,b,c,d,e,f,w,h,i) VAUES 
(NULL, '".$_POST['a']."','".$_POST['b']."','".$_POST['c']."','".$_POST['d']."','".$_POST['e']."','".$_POST['f']."','".$_POST['w']."','".$_POST['h']."','".$_POST['i']."')"; 
$result = mysql_query($query) or die();} 
+2

Это требует базовой отладки. Что не так, где? Выведите сообщения об ошибках mySQL с помощью 'mysql_error()' и peek, например. в инспекторе элементов вашего браузера, какое значение возвращается из вызова Ajax. Также сделайте тестовые выходы ваших полей. В какой момент они становятся пустыми (если вообще)? Ваш скрипт также уязвим для SQL-инъекции, см. Http://php.net/manual/en/security.database.sql-injection.php –

ответ

0

Вы должны установить тип контента на вашем АЯКС пост и stringify ваш JSON.

$.ajax({ 
    type: "POST", 
    url: "print.php", 
    contentType: "application/json", 
    data: JSON.stringify({a:a,b:b,c:c,d:d,e:e,f:f,w:w,h:h,i:i}), 
    success: function (data) { 
     $("#print").printThis(); 
    } 
}) 

Обязательно включите JSON.js, если вы используете более старые версии браузеров.

0

Я заметил, что когда вы вставляете данные в таблицу, вы считаете свои данные как varchar, но когда вы хотите выбрать, вы не ставили свои значения между одинарными кавычками, для более подробной информации добавьте после первого mysql_query() mysql_error() для отладки вашего скрипта.

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