Php mysqli_connect返回NULL
我正在尝试与mysqli_connect建立一个简单的连接,下面是代码(使用XAMPP) 但是,mysqli_connect始终返回NULL。我已经尝试了很多东西,在互联网上搜索,却没有找到任何解决办法 谢谢你的帮助 编辑:这不是重复,因为没有其他问题能够解决我的问题。我使用的是Laravel,准确的错误是: mysqli_query()要求参数1为mysqli,给定为null(视图: /opt/lampp/htdocs/lazzaricosmetics/resources/views/admin/admin_prodotti.blade.php) 查询是:Php mysqli_connect返回NULL,php,mysql,laravel,mysqli,xampp,Php,Mysql,Laravel,Mysqli,Xampp,我正在尝试与mysqli_connect建立一个简单的连接,下面是代码(使用XAMPP) 但是,mysqli_connect始终返回NULL。我已经尝试了很多东西,在互联网上搜索,却没有找到任何解决办法 谢谢你的帮助 编辑:这不是重复,因为没有其他问题能够解决我的问题。我使用的是Laravel,准确的错误是: mysqli_query()要求参数1为mysqli,给定为null(视图: /opt/lampp/htdocs/lazzaricosmetics/resources/views/admi
$result = mysqli_query($CLASS_CONFIG["conn"], $sql) or die (mysqli_error($CLASS_CONFIG["conn"]) . " " . $sql);
如果您使用的是Laravel框架,为什么需要以本机方式连接到mysql 如果连接失败,mysqli_connect(..)将返回null。如果连接成功,此方法将返回一个对象。您可以按如下方式打印错误消息:
<code>
if (!$CLASS_CONFIG["conn"]) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
如果您使用的是Laravel,您不必自己创建到数据库的连接。拉威尔为你做这件事。您只需将
.env.example
文件复制到.env
并添加DBMS和DB凭据:
cp.env.example.env
编辑.env
文件:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=add your db name here
DB_USERNAME=add your db username here
DB_PASSWORD=add your db password here
我鼓励您阅读和-+-我会再说一遍,错误是它返回NULL。没有错误,连接应该正在进行。我使用的是Laravel,错误页面上写的正是:mysqli_query()期望参数1为mysqli,给定为空(View:/opt/lampp/htdocs/lazzaricosmetics/resources/views/admin/admin_prodotti.blade.php),我添加了Laravel标记;可能是相关的。那么它可能是其他东西的复制品。新的错误消息表明存在范围问题。如果没有更多的调试细节(AKA
var\u dump
),仍然很难判断(不带[“conn”]
)在调用mysqli\u query()
之前输出null
?如果是,则不定义变量。如果您使用的是global$CLASS\u CONFIG
来检索它,那么我们需要看到更多的代码来找出它的错误所在。具体来说,导致该mysqli_query()的代码
call。我知道这看起来很奇怪,我也看到了Laravel是如何轻松地为您实现这一点的,但我遇到了一个尴尬的情况,我正在将Laravel与另一个php mysql框架集成,所以这一切都有点奇怪。我可以问一下您为什么要这样做吗?我正在为一家公司开发,他们告诉我使用任何我想要的框架,之后,他们告诉我使用他们自己的框架作为后端。我在Laravel的框架中拥有整个前端,现在需要将其与后端的框架集成。我可以完全摆脱拉威尔,但我有时间限制,所以这似乎是最好的办法。只需忽略拉雷维尔的后端,并保持它是什么已经做了。这是个坏主意吗,你认为我应该除掉拉威尔吗?我担心这会产生更多的问题。在这种情况下,我将创建一个中间件,它将所需的数据作为(REST)API公开给一方,并与另一方的公司数据库交互。虽然我想知道如果拉威尔只是作为前端,它会做什么。我觉得有点重。对于中间件,我指的是不同的应用程序。不是Laravel中间件。你是对的,使用Laravel是毫无意义的,但我这样做的目的是使用它的所有功能,但唉,当我使用前端时,他们告诉我在后端使用他们的框架
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=add your db name here
DB_USERNAME=add your db username here
DB_PASSWORD=add your db password here