PHP包括在北美工作,但不在巴拿马或南非工作?

PHP包括在北美工作,但不在巴拿马或南非工作?,php,mysql,include,Php,Mysql,Include,我与来自世界某些地区的人在登录我网站的密码限制区时遇到问题。我在整个代码中都使用include登录到数据库,这样,如果我需要进行更改,就不需要每次更改100个脚本。人们一直报告在登录时出现以下错误: 致命错误:在第15行的/home/ifalpo/public_html/members/login.php中对非对象调用成员函数query() 直到我最近在巴拿马经历了这个问题,我才相信这是一个真正的问题。让我知道我做错了什么 以下是“包括”的代码: <?php //Connect t

我与来自世界某些地区的人在登录我网站的密码限制区时遇到问题。我在整个代码中都使用include登录到数据库,这样,如果我需要进行更改,就不需要每次更改100个脚本。人们一直报告在登录时出现以下错误:

致命错误:在第15行的/home/ifalpo/public_html/members/login.php中对非对象调用成员函数query()

直到我最近在巴拿马经历了这个问题,我才相信这是一个真正的问题。让我知道我做错了什么

以下是“包括”的代码:

<?php
    //Connect to DB
    $connection = new mysqli("localhost", "username", "password", "database");

    //Check Connection
    if ($connection->connect_errno){ echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; }

?>
第15行是:

$results = $connection->query($sql);
疯狂的是,这在北美(蒙特利尔、波士顿、迈阿密)和欧洲(英国、法国)都有效,但在非洲和巴拿马等其他国家(均已验证)却不起作用



我在这里做错了什么?

检查utf8,可能您键入的是不同的排序规则

检查utf8,可能您键入的是不同的排序规则

检查utf8,可能您键入的是不同的排序规则

检查utf8,可能您键入的是不同的排序规则

在同一台服务器上有所有的排序规则?或者按服务器划分?这听起来像是服务器问题,与代码无关。确保它们都运行与NA和EU服务器相同的设置。是的,它们都在同一服务器上,只是不同的文件夹。我总是使用$\u SERVER['DOCUMENT\u ROOT']对位置进行硬编码。。。在北美我从来没有遇到过问题。。。刚才我正在从事一个国际项目,但它并不适用于所有人。可能是因为传入的用户名(旁注:请将您的代码更改为使用PDO,而不是直接将用户名传入SQL语句)与不同国家的用户使用的字符集不同吗?(另一个旁注,非洲不是一个国家)(作为我旁注之一的旁注,您使用的是支持预处理语句的
mysqli
,因此您应该将代码更改为使用这些语句,而不是使用字符串连接来形成SQL)在同一台服务器中有吗?或者按服务器划分?这听起来像是服务器问题,与代码无关。确保它们都运行与NA和EU服务器相同的设置。是的,它们都在同一服务器上,只是不同的文件夹。我总是使用$\u SERVER['DOCUMENT\u ROOT']对位置进行硬编码。。。在北美我从来没有遇到过问题。。。刚才我正在从事一个国际项目,但它并不适用于所有人。可能是因为传入的用户名(旁注:请将您的代码更改为使用PDO,而不是直接将用户名传入SQL语句)与不同国家的用户使用的字符集不同吗?(另一个旁注,非洲不是一个国家)(作为我旁注之一的旁注,您使用的是支持预处理语句的
mysqli
,因此您应该将代码更改为使用这些语句,而不是使用字符串连接来形成SQL)在同一台服务器中有吗?或者按服务器划分?这听起来像是服务器问题,与代码无关。确保它们都运行与NA和EU服务器相同的设置。是的,它们都在同一服务器上,只是不同的文件夹。我总是使用$\u SERVER['DOCUMENT\u ROOT']对位置进行硬编码。。。在北美我从来没有遇到过问题。。。刚才我正在从事一个国际项目,但它并不适用于所有人。可能是因为传入的用户名(旁注:请将您的代码更改为使用PDO,而不是直接将用户名传入SQL语句)与不同国家的用户使用的字符集不同吗?(另一个旁注,非洲不是一个国家)(作为我旁注之一的旁注,您使用的是支持预处理语句的
mysqli
,因此您应该将代码更改为使用这些语句,而不是使用字符串连接来形成SQL)在同一台服务器中有吗?或者按服务器划分?这听起来像是服务器问题,与代码无关。确保它们都运行与NA和EU服务器相同的设置。是的,它们都在同一服务器上,只是不同的文件夹。我总是使用$\u SERVER['DOCUMENT\u ROOT']对位置进行硬编码。。。在北美我从来没有遇到过问题。。。刚才我正在从事一个国际项目,但它并不适用于所有人。可能是因为传入的用户名(旁注:请将您的代码更改为使用PDO,而不是直接将用户名传入SQL语句)与不同国家的用户使用的字符集不同吗?(另一个旁注,非洲不是一个国家)(作为我旁注之一的旁注,您正在使用支持预置语句的
mysqli
,因此您应该将代码更改为使用这些语句,而不是使用字符串连接来形成SQL)现在测试这种可能性。。。正在等待来自受影响地区的人的答复。正在测试这种可能性。。。正在等待来自受影响地区的人的答复。正在测试这种可能性。。。正在等待来自受影响地区的人的答复。正在测试这种可能性。。。正在等待来自受影响地区的人员的答复。
$results = $connection->query($sql);