我得到一个错误说:"转换失败时,将varchar数据类型转换为int" 当我尝试运行下面的代码,但我已经将ASSIGNED_ID
转换为php中的int ?
$row["ID"]
数字是小它的2,所以没有,或类似的东西,我甚至添加了替换代码来删除任何空格,但它仍然不起作用。而且两个表有相同的ID(数据类型:int)
我也想知道我如何使用他们的ID (int)
连接两个表:T_ASSIGNED
和T_EQ
,他们都有它,它总是匹配
// 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);
谢谢你的帮助。
使用
mssql_query('SELECT EQ_T_N FROM [TestT].[dbo].[T_EQ] WHERE [ID]="' . $ASSIGNED_ID .'"');
使用单引号,你使用的是$ASSIGNED_ID
的文本,而不是变量