草庐IT

mysqli_poll

全部标签

php - mysqli_connect 会在脚本结束时自动关闭吗?

我想知道mysqli_connect()是否会在脚本结束时自动关闭。我知道,mysql_connect()确实如此,但我说的是改进的mysqli_connect()。我还找到了已回答的问题,说是这样,但在官方文档中它没有写..那么,我可以依赖那些非官方声明吗?(或者更好地问,依赖它们是安全的吗?) 最佳答案 这是您应该考虑的事项。当脚本终止时,MySql连接会自动关闭。但是,如果您的脚本在数据被检索并存储到数组或您将其存储到的任何位置后进行了大量处理,那么显式关闭连接会更安全,这样您就不会面临可用连接耗尽的机会脚本正忙于运行后期数据

php - mysqli bind_param 中的动态变量绑定(bind)

当我尝试低于代码时,它会给我一个警告mysqli_stmt::bind_param():Numberofelementsintypedefinitionstringdoesn'tmatchnumberofbindvariables$stmt=$mysqli->prepare('SELECT*FROMusersWHERElname=?ANDfname=?');$type="ss";$param=array("Maq","bool");$params[]=&$type;$params[]=&$param;call_user_func_array(array($stmt,'bind_para

php - mysqli_real_escape_string() 中默认字符集的安全隐患是什么意思?

在mysqli_real_escape_string()的PHP文档中,写道CautionSecurity:thedefaultcharactersetThecharactersetmustbeseteitherattheserverlevel,orwiththeAPIfunctionmysqli_set_charset()forittoaffectmysqli_real_escape_string().来源mysqli_real_escape_string在关于字符集的进一步链接中,提到Thecharactersetshouldbeunderstoodanddefined,asith

phpMyAdmin - 错误 : (The mysqli extension is missing) after upgrading php 5. 6 到 php 7

通过这种方式将php5.6升级到php7后,ubuntu16.04上的phpmyadmin出现问题:sudoadd-apt-repositoryppa:ondrej/phpsudoapt-getupdatesudoapt-getinstallphp7.0php5.6php5.6-mysqlphp-gettextphp5.6-mbstringphp-mbstringphp7.0-mbstringphp-xdebuglibapache2-mod-php5.6libapache2-mod-php7.0在这个命令之后:sudoa2dismodphp5.6;sudoa2enmodphp7.0;s

php - mysqli INSERT异常

我有下表:ID:bigintautoincNAME:varchar(255)DESCRIPTION:textENTRYDATE:date我想在表中插入一行。它执行时没有错误,但没有任何内容被插入到数据库中。try{$query="INSERTINTOmytable(NAME,DESCRIPTION,ENTRYDATE)VALUES(?,?,?)";$stmt=$conn->prepare($query);$name='something';$desc='something';$curdate="CURDATE()";$stmt->bind_param("sss",$name,$desc

php - 扩展 mysqli_result

我已经扩展了PHP的mysqli类,它工作正常。但是如何让它在查询时返回自定义结果对象(或用于插入/更新/删除等的bool值)?namespaceMyApp;classMySQLiextends\mysqli{publicfunctionquery($query,$resultmode=null){//ThisneedstoreturnaMySQLiResultoraboolean}}classMySQLiResultextends\mysqli_result{}这样做我可以返回一个MySQLiResult对象,但我不知道如何为非基于选择的查询返回一个bool值:publicfunct

php - 准备好的语句mysqli不返回行

我有一些带有准备好的语句的php代码。它是通过javascript中的Ajax调用的。我确定在帐户表中有一个名为mark(无上限)的帐户,但是当我将$_POST['query']设置为m调用它时,它发现$stmt->num_rows===0为真。看不出任何错误,就是不行!如您所知,它正在将内容回显到表格中。我在phpMyAdmin中尝试了这个查询:SELECTusernameFROMaccountsWHEREusernameLIKE'%m%'并且它工作正常。我创建这段代码是为了在mysql数据库中搜索用户名。如果您想知道,$conn是包含文件中定义的有效mysqli对象。stmt_in

php - mysqli真正的转义字符串问题

如何在我的脚本中使用mysqli_real_escape_string来防止SQL注入(inject)。我正在处理一些代码并在这里提出一些问题,我被建议使用mysqli_real_escape_string而不是mysql_real_escape_string,问题是我的代码在变量之后才建立连接我要保全。有人建议我应该使用准备好的语句,但经过一些搜索后http://www.php.net/manual/en/mysqli.quickstart.prepared-statements.php我觉得更糊涂了。现在代码如果做的正是它不应该做的事情,它会将空值/行插入到我的表中,根据我的阅读,

PHP, mysqli 数组

我是php和mysql的新手。我有一个包含表user_entries和两列max_val和num的数据库。我使用下面的代码将我的两列提取到数组中,然后使用下面的函数numberTimesOver来确定有多少次$num[$i]>$limit当$val[$i]=10时。数字范围从0到10。当我将我的函数与我表中的两个数组一起使用时,我得到的输出为零,而它应该是4。当我使用我的$a和$b数组我得到2的输出。我哪里错了?当我尝试将表列转换为数组时,我认为我出错了。query($val_sql);$num_sql="SELECT`num`FROM`user_entries`";$numData=

php - MySQLi 如何检查表是否存在?

这个问题在这里已经有了答案:MySQLiTableExists(5个答案)关闭3年前。如果没有这样的表,我想通过应用程序创建表。但是第一次做...需要一些帮助,不过//connecting...$mysqli=newmysqli($db_params['host'],$db_params['login'],$db_params['pass'],$db_params['name']);if($mysqli->query("SHOWTABLESLIKE`products`")){echo'YES';}elseecho'no';它总是说不。