我使用kendo UI网格并连接到Mysql, 函数更新和读取是正常的,但是当我使用create,并在新行中输入一些数据时,我点击更新但不费力。 我不知道出了什么问题? 我的网格是:
$("#grid").kendoGrid({
dataSource: {
transport: {
read: "data/channels.php",
update: {
url: "data/channels.php",
type: "POST"
},
create: {
dataType: "json",
url: "data/channeladd.php",
type: "POST"
}
},
schema: {
data: "results",
model: {
id: "channelId",
fields: {
channelName: { validation: { required: true} }
}
}
}
},
columns: [{ field: "channelName", title: "Channel Name" }, { field: "channelIp", title: "Channel Ip" }, { field: "channelPort", title: "Channel Port" }, { command: ["edit", "destroy"], title: " ", width: "172px" }],
editable: "inline",
navigable: true, // enables keyboard navigation in the grid
toolbar: [ "create" ] // adds save and cancel buttons
});
在channeladd.php:
$link = mysql_pconnect("localhost", "root", "THE PASSWORD") or die("Unable To Connect To Database Server");
mysql_select_db("THE DB") or die("Unable To Connect To THE DB");
// add the header line to specify that the content type is JSON
header("Content-type: application/json");
$request = json_decode(file_get_contents('php://input'));
// DISCLAIMER: It is better to use PHP prepared statements to communicate with the database.
// this provides better protection against SQL injection.
// [http://php.net/manual/en/pdo.prepared-statements.php][4]
// get the parameters from the get. escape them to protect against sql injection.
$channelnName = $request["channelName"];
$channelnIp = $request["channelIp"];
$channelnPort = $request["channelPort"];
$sql = "INSERT INTO channel (channelName, channelIp, channelPort) VALUES (".$channelnName.",".$channelnIp.",".$channelnPort.")";
$rs = mysql_query($sql);
if ($rs) {
echo true;
}
else {
header("HTTP/1.1 500 Internal Server Error");
echo false;
}
任何建议表示赞赏。
答案 0 :(得分:0)
很抱歉,我不知道原因,但是当我删除该行时:
header("Content-type: application/json");
任何操作都可以。感谢您的关注,Deepu:)