当我尝试使用php连接到数据库时出现很多错误

yvfmudvl  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(368)

我有这个问题。我正在尝试连接到数据库并推送文本用户。当我打开这个文件时,我只会发现很多错误。你可以看到错误和我的代码更进一步。仅供参考:我的数据库在mysqli中
警告:mysqli::\uu construct():php\u network\u getaddresses:getaddrinfo失败:在第3行的/www/webvol9/rj/fxgnq6r66hz6x2j/my domain/public\u html/action\u page.php中提供了主机名或servname,或者不知道
警告:mysqli::\uuu construct():(hy000/2002):php\u network\u getaddresses:getaddrinfo失败:第3行的/www/webvol9/rj/fxgnq6r66hz6x2j/my domain/public\u html/action\u page.php中提供了主机名或servname,或未知
注意:未定义变量:query in/www/webvol9/rj/fxgnq6r66hz6x2j/my domain/public\u html/action\u page.php第7行
警告:mysqli::prepare():无法在第7行的/www/webvol9/rj/fxgnq6r66hz6x2j/my domain/public\u html/action\u page.php中获取mysqli
致命错误:未捕获的错误:在/www/webvol9/rj/fxgnq6r66hz6x2j/my domain/public\html/action\u页中对空成员函数execute()的调用。php:8 stack trace:#0{main}在第8行的/www/webvol9/rj/fxgnq6r66hz6x2j/my domain/public_html/action_page.php中抛出

<?php
// Create connection
$mysqli = new mysqli("https://mysql687.loopia.se", "USERNAME", "PASSWORD", "People");

$query = "INSERT INTO 'People' ('Name', 'Password', 'Username') VALUES ('Emil', 'hejhej', 'emil')";

$stmt = $mysqli->prepare($query);
$stmt->execute();

$mysqli->close();
$stmt->close();
?>
41zrol4v

41zrol4v1#

首先使用正确的凭据连接到数据库。不要在中引用表名和列名

$query = "INSERT INTO People (Name, Password, Username) VALUES ('Emil', 'hejhej', 'emil')";
``` `$stmt->close();` 应该在前面 `$mysqli->close();` .
ltqd579y

ltqd579y2#

这里有很多虫子
警告:mysqli::uu construct():php\u network\u getaddresses:getaddrinfo失败:提供了hostname或servname,或者在中未知。。。
警告:mysqli::\uu construct():(hy000/2002):php\u network\u getaddresses:getaddrinfo失败:提供了hostname或servname,或者在中未知。。。
是因为在域前面放置https://时通过端口443与数据库连接。
刚刚做了一个端口扫描和端口443是关闭的,默认的mysql端口3306是打开的,所以只要进入 mysql687.loopia.se 没有 https://

注意:未定义变量:查询中。。。
将表列的单引号替换为反引号或无引号:

$query = "INSERT INTO `People` (`Name`, `Password`, `Username`) VALUES ('Emil', 'hejhej', 'emil')";

在数据库连接之前也关闭语句(也仅在脚本结束时关闭数据库连接)。不是每次运行查询时)。

$stmt = null;
$mysqli = null;

相关问题