Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql varchar字段以整数形式返回_Php_Mysql_Ajax - Fatal编程技术网

Php mysql varchar字段以整数形式返回

Php mysql varchar字段以整数形式返回,php,mysql,ajax,Php,Mysql,Ajax,我试图通过向服务器发送ajax请求,从数据库中获取联系人详细信息,服务器从数据库中获取详细信息。出于某种原因,它返回整数,但一个字段是tinytext,另一个字段是varchar。请帮忙 这是我的密码: $user = $_GET['user']; $json = '{"details":['; $sql = "SELECT cdType, cdDetail FROM tbcontactdetails WHERE User_ID = $user"; $result = $conn->que

我试图通过向服务器发送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);
    });

无效的查询字符串语法以及不正确的连接方式

更改此项:

$sql = "SELECT cdType, cdDetail FROM tbcontactdetails WHERE User_ID = $user";
为此:

$sql = "SELECT cdType, cdDetail FROM tbcontactdetails WHERE User_ID = '$user'";
$row = $result->fetch_assoc();
 $json .= $row['cdDetail'];
在此之前,请在期间删除

while($row = $result->fetch_assoc()) 
为此:

$sql = "SELECT cdType, cdDetail FROM tbcontactdetails WHERE User_ID = '$user'";
$row = $result->fetch_assoc();
 $json .= $row['cdDetail'];
或提供正确的开启和关闭支架:

while($row = $result->fetch_assoc()) { /* your code */ } 
这是:

 $json += $row['cdDetail'];
为此:

$sql = "SELECT cdType, cdDetail FROM tbcontactdetails WHERE User_ID = '$user'";
$row = $result->fetch_assoc();
 $json .= $row['cdDetail'];

其中User\u ID=$User
是一个字符串
而($row=$result->fetch_assoc())
一个缺少的
{
}
可能?您正在通过执行
$json+=
将其转换为整数。您需要更改为
$json.=
。看看看看
+=
=
之间的区别现在我觉得自己很愚蠢,我没有意识到这一点