首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用带有mysql_query参数的mysqli_query

使用带有mysql_query参数的mysqli_query
EN

Stack Overflow用户
提问于 2019-02-20 17:40:48
回答 1查看 87关注 0票数 0

我正在从PHP5迁移到PHP7,并且我创建了一个grep来让所有的mysql_query将它们更改为mysqli_query。问题是,显然参数是使用过程化样式更改的。

代码语言:javascript
复制
mysql_query($query, $link_identifier)
mysqli_query($link_identifier, $query)

即使使用面向对象的样式,它们仍然是相同的参数。

问题是,如果我将mysqli_query的参数保留为$query, $link,并认为该函数足够智能,可以检测出哪个是哪个,或者我需要将它们全部更改以匹配正确的参数,那么它会起作用吗?

EN

回答 1

Stack Overflow用户

发布于 2019-02-20 17:59:36

参数的顺序是不可互换的。Php.net mysqli_query. Php.net mysql_query.

我还测试了它。

mysql_query

代码语言:javascript
复制
$link = mysql_connect("localhost","login","pass");

$db_selected = mysql_select_db('db', $link);

$sql = "SELECT * FROM table LIMIT 5";
$result = mysql_query($sql, $link);

while($row = mysql_fetch_array($result)) {
    echo $row['col_name'];
}

mysql_close($link);

带有错误参数顺序的mysqli_query将生成以下Warning: mysqli_query() expects parameter 1 to be mysqli, string given代码:

代码语言:javascript
复制
$link = mysqli_connect("localhost", "login", "pass", "db");

//arguments in wrong order
if ($result = mysqli_query("SELECT * FROM table LIMIT 5", $link)) {
    while($row = mysqli_fetch_array($result)) {
        echo $row['col_name'];
    }
}
//produce
//Warning: mysqli_query() expects parameter 1 to be mysqli, string given in

mysqli_close($link);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54783138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档