jjzjj

bindparam

全部标签

php - bindParam 和 bindValue 不起作用?

我正在尝试制作一个注册/登录系统。要检查用户名和电子邮件地址是否未被使用,我使用这个:$username=$_POST['uLogin'];$usernameLC=strtolower($username);$query1=$db0->query("SELECTuserLoginFROMtbuserWHEREuserLogin=':login';");$query1->bindValue(":login",$usernameLC,PDO::PARAM_STR);但它不起作用。我可以根据需要使用相同的用户名创建尽可能多的用户。通过扩展,它也不会让我连接到网站,因为它不绑定(bind)值或

php - PDO bindParam 在 foreach 中不起作用

我正在为一个应用程序使用PDO,但遇到了PDObindParam()的问题。我有一个数组,我想使用for循环或foreach()为PDObindParam()使用数组的值,但出现意外结果通过foreach()获得。当我在for循环中使用bindParam()时,它工作正常。我试过的是$con=$this->connection();$stmt=$con->prepare($sql);for($i=0;$ibindParam($i+1,$params[$i],PDO::PARAM_STR,10);}$stmt->execute();$result=$stmt->fetchAll();//

php - PDO bindParam 是否允许不存在的变量?

在开发过程中,我设置了error_reporting(-1);,所以我确信每个语法错误都会由PHP显示。例如echo$ttt;当然可以Notice:Undefinedvariable:tttin...在这段代码中(某个类的一部分代表mysql表中的一行):publicfunctiondelete(){//...$sth=$dbh->prepare('DELETEFROMtobjectsWHEREIdObject=:id');$sth->bindParam(':id',$this->fid,PDO::PARAM_INT);$sth->execute();我输错了现在的$this->fid

php - 对于 PDO 准备语句,我应该使用 bindParam()、bindValue() 还是 execute()

我阅读了这个问题(ShouldIusebindValue()orexecute(array())toavoidSQLinjection?),发现execute(array())和bindParam()在使用PDO和准备好的语句时都可以防止SQL注入(inject)。不过,我还记得在某处读到过,execute()会自动将每个变量视为一个字符串,无论它是否为整数。我的问题是,除了字符串变量之外,这肯定是一个安全问题吗?例如,如果我要通过准备好的查询获取等于1的用户ID,但是通过执行传递的参数将被视为字符串而不是整数。显然这个脚本没有用户输入的方法,并且只支持用户输入,例如更新个人资料、帖子

php - PDO bindParam() PHP Foreach 循环

我有一个foreach循环,我想执行一个准备语句pdo。我已经阅读了一些关于提供引用的帖子,但我不知道如何使用我的代码进行引用:$str=":City,Aurora;:State,CO";$wherestr=explode(";",$str);$sql="SELECT*FROMOrganizationWHERECity=:CityANDState=:State";$stmt=$db->prepare($sql);foreach($wherestras$ws){$ws=explode(",",$ws);$ws0=trim($ws[0]);$ws1=trim($ws[1]);$stmt->

php - PDO - bindParam 不工作

我正在创建一个PDO类以用于我的项目,但由于我是新手,所以我无法将参数绑定(bind)到准备好的sql语句,而不会出现任何错误。这是执行此操作的功能:#::bindParampublicstaticfunctionbind(){#getfunctionarguments$args=func_get_args();#checkforanyargumentspassedif(count($args)bindParam($parameter,$variable,$data_type,$length)ordie('error');}}和准备好的sql语句:SELECT*FROM`users`W

PHP pdo bindParam 类型管理

这是发布表单:$funcname->name=htmlentities($_POST['name']);$funcname->insert();这将是类funcname上的函数insert,它将数据插入名为name的列$this->conn->beginTransaction();$stmt=$this->conn->prepare("INSERTINTOnameTBL(name)values(:name)";$stmt->bindParam(':name',$this->name,PDO::PARAM_INT);if($stmt->execute()){$this->conn->co

php - 使用 PDO bindParam 创建数据库

PDO::ERRMODE_EXCEPTION,//anSQLcommandtoexecutewhenconnectingPDO::MYSQL_ATTR_INIT_COMMAND=>"SETNAMES'UTF8'");//MakinganewPDOconenction.$conn=newPDO($dsn,$login,$password,$opt);$db=$conn->prepare("CREATESCHEMAIFNOTEXISTS`?`");$db->bindParam(1,$dbb);$db->execute();?>它工作正常,但它创建了一个名称为“account”的带有单引号的

php - 如何使用 mysqli 准备语句绑定(bind)字符串数组?

我需要将一组值绑定(bind)到WHEREIN(?)子句。我该怎么做?这个有效:$mysqli=newmysqli("localhost","root","root","db");if(!$mysqli||$mysqli->connect_errno){return;}$query_str="SELECTnameFROMtableWHEREcityIN('Nashville','Knoxville')";$query_prepared=$mysqli->stmt_init();if($query_prepared&&$query_prepared->prepare($query_str

PHP 将旧的 mysql_query 更改为 PDO

我的代码中有一些旧的mysql_query查询,我想将其转换为PDO,但很难开始工作。我的原始代码是:mysql_query("UPDATEpeopleSETprice='$price',contact='$contact',fname='$fname',lname='$lname'WHEREid='$id'ANDusername='$username'")ordie(mysql_error());现在我正在尝试:$sql="UPDATEpeopleSETprice='$price',contact='$contact',fname='$fname',lname='$lname'WHE