SELECT * FROM BadDut.user WHERE upper(Account)=upper('input_value');
SELECT * FROM tatlbename WHERE Account=UPPER(variable)
$sql = "SELECT * FROM `BadDut.user` WHERE `Account`='".strtolower($_POST["username"])."' "; 后面的字符串转换成小写,那么前面的account字段里的值都是小写形式? 那么 select * from badDut.user where account=lower(:username) 就好了,没必要的话,就不要对account进行函数处理
现在我改成了: $sql = "select * from 'BadDut.user' where 'Account'=lower(:username)"; 还是报错: ORA-00903: invalid table name...
..那个表名和字段名不要加单引号 还有我说的:username是表示参数 你试试这么写 $sql = "SELECT * FROM BadDut.user WHERE Account =lower('".$_POST["username"]."') "; php语法我不懂,自己做必要的修改
是Oracle数据库么 表名不能用单引号引哟。 如果要引用需要用双引号 你试试这个 $sql = "SELECT * FROM \"BadDut\".\"user\" WHERE \"Account\"=lower(\'".$_POST["username"]."\'" ;
我把以上的$sql语句书出来的结果是: SELECT * FROM "BadDut"."user" WHERE "Account" = lower(\'sysop\')报错: ORA-00911:invalid character in ...
我做了些修改: $sql = "SELECT * FROM \"BadDut.user\" WHERE \"Account\"=lower('".$_POST["username"]."')" ; 现在输出sql: SELECT * FROM "BadDut.user" WHERE "Account"=lower('sysop')不知道对不对,不过没有报错。
有结果出来吗?$sql = "SELECT * FROM BadDut.user WHERE Account=lower('".$_POST["username"]."')" ;也可试试这个,baddut应该是schema的名字
--直接用oracle中的函数:
upper 字符变大写
lower 字符变小写
后面的字符串转换成小写,那么前面的account字段里的值都是小写形式?
那么
select * from badDut.user where account=lower(:username)
就好了,没必要的话,就不要对account进行函数处理
$sql = "select * from 'BadDut.user' where 'Account'=lower(:username)";
还是报错:
ORA-00903: invalid table name...
还有我说的:username是表示参数
你试试这么写
$sql = "SELECT * FROM BadDut.user WHERE Account =lower('".$_POST["username"]."') ";
php语法我不懂,自己做必要的修改
表名不能用单引号引哟。 如果要引用需要用双引号
你试试这个
$sql = "SELECT * FROM \"BadDut\".\"user\" WHERE \"Account\"=lower(\'".$_POST["username"]."\'" ;
SELECT * FROM "BadDut"."user" WHERE "Account" = lower(\'sysop\')报错:
ORA-00911:invalid character in ...
$sql = "SELECT * FROM \"BadDut.user\" WHERE \"Account\"=lower('".$_POST["username"]."')" ; 现在输出sql:
SELECT * FROM "BadDut.user" WHERE "Account"=lower('sysop')不知道对不对,不过没有报错。