i am trying to fetch a PHP script using AJAX and return the values as JSON. For some reason, my script fails and i am trying to figure out the problem. When i enter a value form the database into the address bar, like
www.someaddress/post.php?kinaseEntry=aValue
i get a json out put like so;
{"kinaseSKU":null,"url":null,"molecularWeight":null,"tracerSKU":null,"antiSKU1":"antiSKU1","antiSKU2":"antiSKU2","bufferSKU":"bufferSKU","tracerConc":null,"assayConc":null}
My php file looks like so;
<?php
//Include connection to databse require_once 'connect.php';
$kinase = mysql_real_escape_string ($_POST["kinaseEntry"]);
mysql_query('SET CHARACTER SET utf8');
$findKinase = "SELECT * FROM kbaData where cleanSKU = '" .$kinase. "' ";
if ($result = mysql_query($findKinase)) {
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$kinaseSKU = $row['cleanSKU'];
$url = $row['url'];
$molecularWeight = $row['molecularWeight'];
$tracerSKU = $row['tracerSKU'];
$antiSKU1 = $row['antiSKU1'];
$antiSKU2 = $row['antiSKU2'];
$bufferSKU = $row['bufferSKU'];
$tracerConc = $row['tracerConc'];
$assayConc = $row['assayConc'];
/* JSON ROW */
$json = array ("kinaseSKU" => $kinaseSKU, "url" => $url, "molecularWeight" => $molecularWeight, "tracerSKU" => $tracerSKU, "antiSKU1" => $antiSKU1, "antiSKU2" => $antiSKU2, "bufferSKU" => $bufferSKU, "tracerConc" => $tracerConc, "assayConc" => $assayConc );
} else {
/* CATCH ANY ERRORS */
$json = array('error' => 'Mysql Query Error');
}
/* SEND AS JSON */
header("Content-Type: application/json", true);
/* RETURN JSON */
echo json_encode($json);
/* STOP SCRIPT */
exit;
?>
Am I going about this the wrong way? or have i done this wrong?
EDIT: Here is my jquery/ajax that calls the php script;
$(document).ready(function() {
$('#kinaseEntry').change(function () {
var kinaseEntry = $('#kinaseEntry').val();
var dataString = 'kinaseEntry' + kinaseEntry;
$('#waiting').show(500);
$('#message').hide(0);
alert(kinaseEntry);
//Fetch list from database
$.ajax({
type : "POST",
url : "post.php",
datatype: "json",
data: dataString,
success : function(datas) {
alert("datas" + datas);
},
error : function(error) {
alert("Oops, there was an error!");
}
});
return false;
});
});
var_dump($row)
to be sure it isn't all NULLs? Your code looks correct otherwise. – Michael Berkowski Feb 9 '12 at 14:34