Php 转换varchar值时转换失败错误
添加内部联接后,我不断收到此错误Php 转换varchar值时转换失败错误,php,sql,sql-server,database,Php,Sql,Sql Server,Database,添加内部联接后,我不断收到此错误 SELECT character.dbo.user_character.character_name, character.dbo.user_character.wLevel, character.dbo.user_character.byPCClass, character.dbo.user_character.wMapIndex, character.dbo.user_character.wPosX, character
SELECT
character.dbo.user_character.character_name,
character.dbo.user_character.wLevel,
character.dbo.user_character.byPCClass,
character.dbo.user_character.wMapIndex,
character.dbo.user_character.wPosX,
character.dbo.user_character.wPosY,
ban_info.dbo.account_login.ip
FROM
character.dbo.user_character
INNER JOIN ban_info.dbo.account_login ON (character.dbo.user_character.wPosY=ban_info.dbo.account_login.ip)
WHERE (character.dbo.user_character.user_no='12100601280065')
错误
Msg 245,16级,状态1,第1行
将varchar值“127.0.0.1”转换为数据类型int时,转换失败
如何修复它?看看这个。存储IP地址需要一些调整。您的问题只是将存储在ban_info.dbo.account\u login.IP上的非整数IP地址与存储在character.dbo.user\u character.wPosY上的整数值进行比较,如下所示:
INNER JOIN ban_info.dbo.account_login ON (character.dbo.user_character.wPosY = ban_info.dbo.account_login.ip)
我认为应该在php或db中将IP地址转换为int,然后进行比较。
PHP中有一个函数我使用的是mssql,而不是MySQL。简单的搜索会让你走得很远。。。。好的,我更改了它,似乎它解决了问题,我将wPosY更改为varchar,它现在可以工作了,没有错误,但它现在给了我空白row@user2875727因为你在比较两个不匹配的值,例如52不等于192.168.0.12。啊,明白了,所以我试着比较两行,比如ban_info.dbo.account_login.ip=ban_info.dbo.account_login.ip,现在所有的行都显示了列中的第一个ip