我试图通过向服务器发送ajax请求从数据库获取联系人详细信息,从服务器获取数据库中的详细信息。由于某种原因,它返回整数,但一个字段为tinytext
,另一个字段为varchar
。请帮忙。
这是我的代码:
$user = $_GET['user'];
$json = '{"details":[';
$sql = "SELECT cdType, cdDetail FROM tbcontactdetails WHERE User_ID = $user";
$result = $conn->query($sql);
if(gettype($result) == 'object') {
if($result->num_rows > 0) {
while($row = $result->fetch_assoc())
$json += $row['cdDetail'];
$json += ']}';
echo gettype($json);
}
}
else
echo $conn->error;
如您所见,我返回$ json的数据类型,它返回整数,cdType是tinytext
,cdDetail是varchar
,大小为50
。
这是我的ajax请求,而不是我认为问题在于那里,因为它可靠地运行:
$.get("./profileChange.php", {user: ses_user, type: "loadCont"}, function(result) {
alert("Debug: " + result);
});
答案 0 :(得分:1)
无效的查询字符串语法以及不正确的连接方式。
改变这个:
$sql = "SELECT cdType, cdDetail FROM tbcontactdetails WHERE User_ID = $user";
到此:
$sql = "SELECT cdType, cdDetail FROM tbcontactdetails WHERE User_ID = '$user'";
在此之前删除while
:
while($row = $result->fetch_assoc())
到此:
$row = $result->fetch_assoc();
或者给出正确的开合括号:
while($row = $result->fetch_assoc()) { /* your code */ }
而且:
$json += $row['cdDetail'];
到此:
$json .= $row['cdDetail'];