急,50分求解读取数据库的问题

jaspon 2004-12-06 11:59:39
数据库中的表table中的f_user_id类型是varchar
执行以下代码时
$ExeSQL="select * from table where f_user_id=".$user_id;
$ExeSQL1=(string)$ExeSQL;
$rs = $db->Execute($ExeSQL);

如果f_user_id在数据库中的数据都是数字,则执行没有错误,当数据库中的f_user_id中有例如"aaaa"的项时,则报

Warning: (null)(): Invoke() failed: 发生意外。 Source: Microsoft OLE DB Provider for ODBC Drivers Description: [Microsoft][ODBC SQL Server Driver][SQL Server]将 varchar 值 'aaaa' 转换为数据类型为 int 的列时发生语法错误。

其中$user_id是在URL传递过来的http://...php?user_id=aaa

请问我应该怎么处理$user_id才能保证执行读库操作的正常?我在代码里也没指定$user_id是int型啊
...全文
60 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pomme 2004-12-06
顶:)
回复
Cain 2004-12-06
呵呵

写程序的时候,注意一点就行了
回复
jxflll 2004-12-06
因为$user_id是字符型,所以要加''号。

$ExeSQL="select * from table where f_user_id='".$user_id."'";
$ExeSQL1=(string)$ExeSQL;
$rs = $db->Execute($ExeSQL);
回复
jaspon 2004-12-06
解决了
$ExeSQL="select * from table where f_user_id='$user_id'";
哈哈哈哈
回复
jaspon 2004-12-06
直接写进SQL执行代码
$ExeSQL="select * from table where f_user_id=aaa";
$rs = $db->Execute($ExeSQL);

报错如下
Warning: (null)(): Invoke() failed: 发生意外。 Source: Microsoft OLE DB Provider for ODBC Drivers Description: [Microsoft][ODBC SQL Server Driver][SQL Server]列名 'aaa' 无效。

表中是存在“aaa”这项的
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2004-12-06 11:59
社区公告
暂无公告