草庐IT

mysqli_close

全部标签

php - 何时调用 mysqli::close

我应该什么时候调用mysqli::close?我从来没有使用if语句来检查bind_param()、prep()和execute()是否成功。我应该在方法(下面)的末尾调用$stmt->close()吗?或者我应该在每个条件之后调用它确保我关闭数据库连接,即使进程在某个阶段失败,例如绑定(bind)参数。publicfunctionfunction_name($id,$new_id){$query="UPDATETABLESETname=?WHEREfield=?";if($stmt=$this->prepare($query)){if($stmt->bind_param("is",$

php 切换到 mysqli : num_rows issue

我最近开始为MySQL改进的扩展更新一些代码,到目前为止一直很成功://oldcode-works$result=mysql_query($sql);if(mysql_num_rows($result)==1){$row=mysql_fetch_array($result);echo$row['data'];}//newcode-doesn'twork$result=$mysqli->query($sql)ortrigger_error($mysqli->error."[$sql]");if($result->num_rows==1){$row=$result->fetch_array

PHP MySQLi 准备语句 - SELECT

我的SELECT语法有问题。代码:$stmt=$this->con->prepare("SELECT?FROM`shop_items`WHERE`id`=?");$stmt->bind_param("si",$what,$itemsId);$stmt->execute();$stmt->bind_result($res);$stmt->fetch();echo$res;当我想选择“名称”时,它会回显“名称”而不是来自数据库的结果。如何解决? 最佳答案 占位符?只能在准备语句中用于替换值,不能用于字段名、表名或语句。您正在尝试将其用作

PHP MySQLI 准备好的语句在 get_results() 处中断

我是mysqli准备语句的新手,事实上这是我第一次尝试。我有这段代码,我在每个命令之间放置了echo,它显示aaa和bbb但不显示ccc,我在这里做错了什么?没有出现错误,只是一个空白屏幕:prepare("SELECTtitleFROM`in-the-press`")){$stmt->execute();echo'aaa';$stmt->bind_result($title);echo'bbb';$result=$stmt->get_result();echo'ccc';while($stmt->fetch()){printf("%s%s\n",$title);}echo'ddd';

php - 在 MySQLi 准备好的语句中,STMT 代表什么?

MySQLi准备好的语句使用变量$stmt但我找不到STMT代表什么或为什么使用它。对于其他变量(例如$query和$results),我一直很理解,我只是想知道,为什么$stmt,它背后的历史是什么? 最佳答案 $stmt表示单词$statement。越短越好:D 关于php-在MySQLi准备好的语句中,STMT代表什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/217

php - 在 Mysqli 准备语句中返回一个数组

我的数据库类中有函数返回来自特定国家(例如西类牙)的人的id。但出于某种原因,我只得到一个值,但同一个国家的人很多。这是函数:ClassDbAb{private$db;publicfunctionsameCountry($country){$query="SELECTidFROMusersWHEREcountry=?";$stmt=$this->db->prepare($query);$stmt->bind_param("s",$country);if($stmt->execute()){$stmt->bind_result($sameCountry);$stmt->fetch();r

php - 使用 mysqli 从数据库中获取所有结果

这个问题在这里已经有了答案:getarrayofrowswithmysqliresult(2个答案)关闭2年前。请查看下面我的代码。通过该类(class),我可以像这样显示结果:$connectTest=newtestResults();$test=$connectTest->grabResults(test,id,id);echo$test['id'];echo$test['name'];echo$test['address'];在我的数据库中,“测试”表中有几个字段。我使用index.php?id=1转到我的页面。有了这个,我只显示一行的结果,因为它获取了所有结果,其中id=1。我

php - 如果不存在则使用 mysqli + php 创建数据库

如果数据库名称不存在,我正在尝试使用mysqli创建一个数据库,使用以下代码:SignUp!LogIn代码检查数据库,发现它不存在。接下来我想创建数据库(如果它不存在)但我总是收到以下错误:Warning:mysqli_connect():(HY000/1049):Unknowndatabase'php1'inE:\xampp\htdocs\PhpProject1\index.phponline3Unknowndatabase'php1'Warning:mysqli_query()expectsparameter1tobemysqli,booleangiveninE:\xampp\ht

如果未启用 mysqli,PHP 不会抛出异常

我有set_charset("utf8");}catch(Exception$e){echojson_encode(array('msg'=>$e->getMessage()));}如果mysqli未启用,则它不会捕获错误:Fatalerror:UncaughtError:Class'mysqli'notfoundinC:\test\db_connect.php:8Stacktrace:#0C:\test\getContacts.php(2):require_once()#1{main}throwninC:\test\db_connect.phponline8我该怎么做才能捕获错误?这

php - mysqli_num_rows() 期望参数 1 为 mysqli_result, object

这个问题在这里已经有了答案:PHPWarning:mysqli_num_rows()expectsparameter1tobemysqli_result,objectgiven(1个回答)关闭11个月前。这是我第一次使用mysqli。它似乎在寻找mysqli_num_rows()中括号之间的结果集的名称。然而,当我尝试$stmt、$conn时,却什么也没有,我得到了同样的错误。令人沮丧!下面最后一行$WHAT的位置是什么?或者也许我正在尝试错误的方法。我想要做的就是检查是否返回了结果。我真的不需要行数。我应该只做一个带有错误消息的else语句吗?这是最好的方法吗?是否有编写函数来连接和