小编典典

将varchar值转换为数据类型int和JOIN两个表时,MS SQL转换失败

sql

当我尝试运行以下代码时,我收到一条错误消息: “将varchar转换为int数据类型时转换失败”
,但是我已经ASSIGNED_ID在php中将int转换为int了?

这个$row["ID"]数字很​​小,只有2个,所以没有,或者类似的东西,我什至添加了替换代码来删除任何空格,但是仍然不起作用。另外,两个表具有相同的ID(数据类型:int)

我还想知道如何连接两个表:T_ASSIGNED并且T_EQ使用它们ID (int)它们都具有它并且总是匹配

// SEND A SELECT QUERY TO MSSQL
$query = mssql_query('SELECT ID FROM [TestT].[dbo].[T_ASSIGNED] WHERE [A_T_N]=\'$contact_lastname\'');
$row = mssql_fetch_array($query);

if (strlen($row["ID"])<>0) {
// REMOVE ANY SPACES AND CONVERT ID TO INT
$ASSIGNED_ID = intval(str_replace(" ", "", $row["ID"]));
}else{
// IF NO ID IS FOUND MAKE ID BE ZERO
$ASSIGNED_ID =intval('0');
};


// FREE THE QUERY RESULT
mssql_free_result($query);

// ECHO THE ID
ECHO("TEST ID: ".$ASSIGNED_ID);

// GET THE T NUMBER IN THE T_EQ LOCATION
$query = mssql_query('SELECT EQ_T_N FROM [TestT].[dbo].[T_EQ] WHERE [ID]=\'$ASSIGNED_ID\'');
$row = mssql_fetch_array($query);

// ECHO THE EQ_T_N
echo(">".$row["EQ_T_N"]."<");

// FREE THE QUERY RESULT
mssql_free_result($query);

谢谢你的帮助。


阅读 242

收藏
2021-05-16

共1个答案

小编典典

用这个

mssql_query('SELECT EQ_T_N FROM [TestT].[dbo].[T_EQ] WHERE [ID]="' . $ASSIGNED_ID .'"');

通过使用单引号,您使用的是文本$ASSIGNED_ID,而不是该变量的值

2021-05-16