我正在尝试将一些数据从JS发送到PHP并发出数据库请求,这可以追溯到我的JS。 问题是,我只得到“null”作为结果。 我检查并仔细检查了我的查询,这非常好。 这里是JS:
var selectedEngin = getSelectedText(enginID);
selectedEngin = selectedEngin.slice(0, -1);
var roleNameList = new Array();
$.ajax({
url: '/getRoleNames.php',
type: "POST",
dataType:'json',
data: { engin : selectedEngin },
success: function(data){
console.info(data);
}
});
PHP:
include_once ("config.php");
$userAnswer = $_POST['engin'];
$row = array();
$query="select ROLE_NAME from type_vehicule_role WHERE TV_CODE
='".$userAnswer."' ORDER BY ROLE_ID" ;
$result=mysqli_query($dbc,$query);
$row=mysqli_fetch_array($result);
echo json_encode($row);
如果我回复“test”而不是$row
,那么它的效果也很完美。
度过美好的一天!
答案 0 :(得分:0)
$ dbc必须包含连接到数据库的参数信息。在您的情况下,$ result为null,因为您的连接导致错误。
答案 1 :(得分:0)
在将其提供给json_encode()
电话之前,请尝试使用此功能将所有数据正确编码。
include_once ("config.php");
$userAnswer = $_POST['engin'];
$row = array();
$query="select ROLE_NAME from type_vehicule_role WHERE TV_CODE
='".$userAnswer."' ORDER BY ROLE_ID" ;
$result=mysqli_query($dbc,$query);
$row=mysqli_fetch_array($result);
// Walk the array and encode everything in UTF8
$utf8Row = array_map(utf8_encode, $row);
// JSONify the encoded array
echo json_encode($utf8Row);
答案 2 :(得分:0)
感谢BA_Webimax我找到了问题并得到了答案:
问题在于charset。我在PHP中使用mysqli_set_charset($dbc,"utf8");
解决了这个问题。
感谢您的帮助! 祝你有愉快的一天!