请问bindParam里那冒号可不可以不要
$command=$db->createCommand("SELECT * FROM T WHERE username=:username")
1.$command->bindParam(‘username’,$username);
2.$command->bindParam(’:username’,$username);
1和2两种方式好像都可以的
请问bindParam里那冒号可不可以不要
$command=$db->createCommand("SELECT * FROM T WHERE username=:username")
1.$command->bindParam(‘username’,$username);
2.$command->bindParam(’:username’,$username);
1和2两种方式好像都可以的
那是用来搜索代换字符串之用,理论上是可以去掉的,不过加上可以避免替换冲突.当然你也可以用问号来代替
我觉得那样做挺麻烦,我喜欢这样用:
$result = Yii::app()->db->createCommand("SELECT * FROM t WHERE username=:username")->queryRow(true,array(':username' => $username) );
$sql = “SELECT * FROM t WHERE username=’$username’”;
$result = Yii::app()->db->createCommand($sql)->query();
我一般这样写
巡洋艦,你这样写的话不是不行,不过用bindParam的话可以避免一下mysql crack
$sql = “SELECT * FROM t WHERE username=’$username’”;
我以前也是这样写,PDO学习时代养成的习惯,后来偏向更多的安全方面,就这样写了
$command=$db->createCommand("SELECT * FROM T WHERE username=:username")
1.$command->bindParam(‘username’,$username);