草庐IT

mysqli_close

全部标签

php - 我还应该用 mysqli 清理输入吗?

我正在使用mysqli准备好的语句。我是否仍应使用以下功能清理用户输入:functionsanitise($string){$string=strip_tags($string);//RemoveHTML$string=htmlspecialchars($string);//Convertcharacters$string=trim(rtrim(ltrim($string)));//Removespaces$string=mysql_real_escape_string($string);//PreventSQLInjectionreturn$string;}谢谢。

php - Mysqli 绑定(bind)参数——变量数量与参数数量不匹配

这个问题在这里已经有了答案:bind_paramNumberofvariablesdoesn'tmatchnumberofparametersinpreparedstatement(1个回答)关闭6年前。我不明白为什么会出现错误:Numberofvariablesdoesn'tmatchnumberofparametersinpreparedstatement我的代码是这样的:$DB['con']=newmysqli($$DB['host'],$DB['user'],$DB['pass'],$DB['base']);$stmt=$DB['con']->prepare("insertin

php - 数据库查询的MySQLi错误

这个问题已经有了答案:SyntaxerrorduetousingareservedwordasatableorcolumnnameinMySQL1答好吧,再回来,aftermyinitialquestion。不过,这一次我实现了一个错误回调,只是为了帮助我走上正轨,我将给出代码和错误回调:$Query=mysqli_query($Connection,"INSERTINTOdatabase(ip,isp,user)VALUES('$IP','$ISP','$User')");错误如下:错误:您的SQL语法中有错误;请查看与MySQL服务器版本对应的手册,以获得正确的语法,以便在第1行使

php - 检查更新查询是否成功[PHP, mysqli]

这个问题在这里已经有了答案:mysqli_affected_rowsinPHPinsert(3个答案)关闭5年前。我正在使用PHP和mysqli,程序正在做的是,如果在设置密码的数据库中找到电子邮件添加和重置代码,它会要求重置代码和电子邮件地址,这部分功能正在运行,这部分我需要帮助:我需要做的是告诉用户是否设置了密码以及更新是否成功。我在做什么:$uinsert="UPDATEmemberSETpassword='$password'WHEREemailadd='$emailadd'ANDresetCode='$resetcode'";$update=mysqli_query($mys

php - strip_tags() 和 mysqli_real_escape_string() 的安全性

我在一个关于信息安全的学校项目中,其中一项作业是用PHP编写一些安全页面。我小组中没有人知道PHP,但这不是什么大问题,我们会学到足够多的知识来创建所需的简单页面。助教们给出的其中一个技巧是使用strip_tags()和mysqli_real_escape_string()这两个函数。我认为这些是安全的,但在没有深入了解的情况下我不确定。一些简单的谷歌搜索至少揭示了过去存在的漏洞。由于任务的一部分是尝试破坏其他组的系统,所以我们自己的系统是安全的,并且在其他组的系统中找到可能的漏洞是很重要的。而且大部分群体都会盲目地使用这两个功能。所以我的问题是:strip_tags()中是否存在任何

php - 如何在 PHP 中使用 mysqli_query()?

我正在用PHP编写代码。我有以下mySQL表:CREATETABLE`students`(`ID`int(10)NOTNULLAUTO_INCREMENT,`Name`varchar(255)DEFAULTNULL,`Start`int(10)DEFAULTNULL,`End`int(10)DEFAULTNULL,PRIMARYKEY(`ID`))ENGINE=InnoDB;我正在尝试使用mysqli_query在PHP中描述表的函数。这是我的代码:$link=mysqli_connect($DB_HOST,$DB_USER,$DB_PASS,$DATABASE);$result=my

PHP 和 mySQLi : Do I still need to check user input when using prepare statements?

如果我在mySQLi中使用prepare语句,我是否仍然需要以任何方式转义或检查用户输入。例如,如果我有代码:$members=newmysqli("localhost","user","pass","members");$r_email=$_POST['r_email'];$check=$members->prepare("selectuser_idfromuserswhereemail=?");$check->bind_param('s',$r_email);$check->execute();$check->store_result();if($check->num_rows>0

php - mysqli_stmt_num_rows($stmt) 总是返回 0?

这个问题在这里已经有了答案:Whydoesmysqlinum_rowsalwaysreturn0?(1个回答)关闭去年。我正在为我的网络应用程序创建一个登录脚本,并尝试使用$count=mysqli_stmt_num_rows($stmt);来查找从sqlselect语句返回的行数,这样我就可以然后决定是否应该开始session。问题是,$count始终为0,即使我输入的用户名和密码与我的数据库中的数据相匹配也是如此。我已经测试了select语句,它工作正常。没有给出错误、语法、SQL或其他信息,所以我对发生的事情有点困惑。代码:";echo"";echo"";}/*closeconn

php - 为什么我不能使用 PHP 访问带有 $row ['price' +$i +'dollar' ] 的 mysqli 结果字段?

在我使用的数据库中,有6列名称:price1dollarprice2dollarprice3dollarprice4dollarprice5dollarprice6dollar我认为一旦我有了查询的结果集,我就可以像这样使用PHP访问它:for($i=1;$i';}这会打印出所有值,但我没有打印任何东西。如果我使用:echo$row['price1dollar'];然后这个值就打印出来了。我已经回显$i的值,它打印出1到6,所以我不知道发生了什么。是否不允许使用$row['price'+$i+'dollar']语法?非常感谢 最佳答案

php - 在非对象 MySQLi 上调用成员函数 bind_param()

好的,所以我正在尝试更新博客条目,当我尝试运行脚本时,我正在调用非对象上的成员函数bind_param()。我进行了广泛的研究,看看是否可以自己修复它,但我一定遗漏了一些东西。prepare("UPDATEblogentriesSETheadline=?,image=?,caption=?,article=?WHEREid=?");$stmt->bind_param('ssssi',$_POST['headline'],$_POST['image'],$_POST['caption'],$_POST['article'],$_POST['id']);$stmt->execute();$