微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 将代码转换为函数,但它不起作用

我使用此代码来计算一个人在数据库中出现的次数(跨15列).

$name = "Clint Irwin";
$query = MysqLi_query($con, "
    SELECT * FROM `players` 
    WHERE MATCH (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15)
    AGAINST ('$name' IN BOOLEAN MODE) 
    AND rank <= 1000");
$result = MysqLi_num_rows($query);
echo $name.' '.$result;

这有效…但是,我想让它变得更容易,所以我可以在很多不同的名字上运行…所以我尝试了这个……

function gw($name) 
{   
    $query = MysqLi_query($con, "
        SELECT * FROM `players`
        WHERE MATCH (p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15) 
        AGAINST ('$name' IN BOOLEAN MODE)
        AND rank <= 1000");
    $result = MysqLi_num_rows($query);
    echo $name.' '.$result;
}

//run it for certain person names,
gw("Clint Irwin");

它不起作用.我刚收到以下错误消息

Warning: MysqLi_query() expects parameter 1 to be MysqLi, null given in /Applications/XAMPP/xamppfiles/htdocs/test.com/index.PHP on line 19

Warning: MysqLi_num_rows() expects parameter 1 to be MysqLi_result, null given in /Applications/XAMPP/xamppfiles/htdocs/test.com/index.PHP on line 21
Clint Irwin

知道如何让它工作吗?这似乎很容易修复,但我无法弄明白.

解决方法:

$con不在函数范围内,因此您传入的是一个局部变量,其整数值为null.您需要将其设为全局,或将连接作为参数传递:

function gw($name) {
   global $con;
}

要么

function gw($name, $con) {
}

gw('foo', $con);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐