草庐IT

mysqli_stmt_bind_param

全部标签

php - 如何在mysqli中转义字符串

在旧的mysql()代码中,为了转义字符串,我这样做了:t.TeacherUsername='".mysql_real_escape_string($teacherusername)."'我正在将我的代码更改为mysqli,但是为了安全起见,我想确切地知道,要在mysqli中转义一个字符串,是不是像下面这样:t.TeacherUsername='".mysqli_real_escape_string($teacherusername)."'另外连接mysqli数据库是不是像下面这样:$username="xxx";$password="xxx";$database="xxx";mysq

php - mysqli中的位标志是什么意思使用fetch_field_direct

使用mysqli,我可以像这样获取有关字段的信息$field=mysqli_fetch_field_direct($result,$fieldCount);我可以使用从结果中获取字段标志$field->flagsPHP手册说这会返回“一个表示字段位标志的整数”。但这就是我能找到的所有信息。我如何解释位标志?到目前为止,我已经解决了这个问题整数(字段长度无关紧要)根据指定的属性返回以下位标志:primarykey49967primary&unique53255uniquekey53251foreignkey53257unique&index53259(Autoincrement49675

php - Symfony2 和 Propel 包 : add additional filter to the Propel param converter

我在我的一个Controller中使用Propel参数转换器:(Symfony2.4.2+Propel1.7)*@ParamConverter("center",converter="propel",class="MyCompany\Bundle\CoreBundle\Model\Center")它运行良好,但我想添加额外的过滤器,通常是在字段isVisible上(但过滤器可能更复杂),这可能吗?事实上,我想要的是使用我的模型的自定义查询函数,而不是基本的findPk()函数。 最佳答案 如果你想指定用于查找实体的存储库方法,你可以

php - mysqli_real_escape_string() 和 mysql_real_escape_string() 的区别

我已经阅读了无数文章,但想知道是否有人可以通俗易懂地向我解释其中的区别?我知道它们既可以防止sql注入(inject)又可以保证安全。但是如果我使用mysqli来运行查询,或者使用老式的my_sql_query方式,那么我使用哪一个真的很重要吗?它们不都是sql函数的包装器吗?为什么下面的代码不起作用?$test="hello,'there";$db->real_escape_string($test);$db->query("INSERTINTOusers(first_name)VALUES('$test')"); 最佳答案 它们

php - MySQLi:使用变量查询另一个表

所以,我有一个数据库,里面有几个表。这些表格中的大多数都包含有关同一文档的信息,并通过ID连接(这很愚蠢,因为它们可能都在同一个表格中,但我正在帮助的公司现在无法更改此设置)。我目前正在处理的2个表的内容如下所示。tblDocument:包含ID+其他信息。tblVerification:包含ID,verificationNo+其他信息。现在,我要做的是从tblDocumentID中找到tblVerification中的verificationNostrong>,使用PHP和MySQLi。我找到了一个允许我将变量传递到查询中的解决方案,但感觉这不是最有效的解决方案并且代码让我感到困惑。

php - Binding参数如何防止Sql注入(inject)?

这个问题在这里已经有了答案:HowcanpreparedstatementsprotectfromSQLinjectionattacks?(10个答案)关闭6年前。在PHP中,我发现了一些防止Sql注入(inject)的方法。绑定(bind)参数就是其中之一。但是我无法找到关于绑定(bind)参数实际上如何防止Sql注入(inject)的完整解释。我认为绑定(bind)参数只是节省了将不同数据绑定(bind)到同一个Sql语句的时间。如何防止Sql注入(inject)?

php - 如何在 PHP PDO 中简单地将一个值绑定(bind)到所有参数?

我有以下函数functionsearchusers($username){$result=$this->conn->prepare("SELECTusername,profilimg,(SELECTCOUNT(title)FROManimelistWHEREmystatus='Watching'ANDaddedbyLIKECONCAT('%','?','%'))ASwatching,(SELECTCOUNT(title)FROManimelistWHEREmystatus='Completed'ANDaddedbyLIKECONCAT('%','?','%'))AScompleted,

php - MySQLi 绑定(bind)结果并获取多行

我正在尝试使用MySQLi和绑定(bind)/获取来遍历一组结果。staticfunctiongetConnection(){if(!isset(self::$db_conn)){self::$db_conn=newmysqli(self::$DBSERVER,self::$DBUSER,self::$DBPASS,ModelBase::$DBNAME)ordie(mysql_error(0)."Errorhandlingdatabaseconnection.");}returnself::$db_conn;}以上是getConnection()函数。它位于此类继承的ModelBase

PHP 在 PDOStatement::bindParam 中绑定(bind)重载属性时注意

当我尝试在PDOStatement::bindParam方法中绑定(bind)重载属性时,$stmt->bindParam(':'.$field.'',$this->$field,$pdoparam);...publicfunction__get($param){if(isset($this->$param))return$this->$param;}我收到通知Notice:IndirectmodificationofoverloadedpropertyMsgs::$posttimehasnoeffectin...经过一些研究,我发现了一个关于类似problem的错误报告在php.ne

php - 正确使用 MySQLI 进行转义 |查询准备好的语句

我读过这个:将帮助您避免注入(inject)。因为转义只是一种字符串格式化工具,而不是任何方式的注入(inject)防护。去搞清楚。但是,转义与准备好的语句有一些共同点:他们都不能保证你不会注入(inject),如果您仅将它用于臭名昭著的“用户输入”,而不是作为构建任何查询的严格规则,尽管有数据源。如果您需要插入的不是数据而是标识符或关键字。在以下帖子中:Aredynamicmysqlquerieswithsqlescapingjustassecureaspreparedstatements?所以我的问题是使用:$Var="UserInputDataPossibleSQLInjecti