Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不明问题_Php_Mysql - Fatal编程技术网

Php 不明问题

Php 不明问题,php,mysql,Php,Mysql,我制作了一个带有注册表的html文件,并希望数据保存在mysql数据库中 我有一个login.php文件连接到mysql数据库,如下所示: <?php $db_hostname = 'localhost'; $db_database = 'tester'; $db_username = 'p2'; $db_password = 'adgangskode'; ?> <?php require_once 'login.php'; $connection = mysqli_c

我制作了一个带有注册表的html文件,并希望数据保存在mysql数据库中

我有一个
login.php
文件连接到mysql数据库,如下所示:

<?php 
$db_hostname = 'localhost'; 
$db_database = 'tester'; 
$db_username = 'p2';
$db_password = 'adgangskode';
?>
<?php
require_once 'login.php';
$connection = mysqli_connect($db_hostname, $db_username, $db_password);

if(!$connection) {
    die("Cant connect to MySQL: " . mysqli_connect_error());
}

$selected_db = mysqli_select_db($connection, $db_database);

if(!$selected_db){
    die("Couldnt decide database: " . mysqli_connect_error());
}    
$fornavn = $_POST['fornavn'];
$efternavn = $_POST['efternavn'];
$adresse = $_POST['adresse'];
$postnummer = $_POST['postnummer'];
$city = $_POST['city'];
$telefonnummer = $_POST['telefonnummer'];
$fdag = $_POST['fdag'];
$password = $_POST['password'];
$email = $_POST['email'];

$insert_query = "INSERT INTO users VALUES ('$fornavn', '$efternavn',
'$adresse', '$postnummer', '$city', '$telefonnummer', '$fdag', '$password',
'$email')";

$result = mysqli_query($connection, $insert_query);
if(!$result){ 
die ("Acces to database denied: " . mysqli_connect_error());
}

mysqli_close($connection);
?>
当我填写表格并提交数据时,我发现错误:

“拒绝访问数据库”

为了解决这个问题,我尝试在mysql中运行以下代码:

GRANT ALL PRIVILEGES ON tester.* TO p2@localhost IDENTIFIED BY 'adgangskode';
此解决方案似乎不起作用,因此我希望有人能给我一个问题的答案。

要授予特权:

将数据库上的所有内容授予由“密码”标识的用户名@“localhost”

请查找链接以了解更多详细信息:

您的
insert\u查询
必须是
$insert\u查询

才能授予特权:

将数据库上的所有内容授予由“密码”标识的用户名@“localhost”

请查找链接以了解更多详细信息:

您的
insert\u查询
必须是
$insert\u查询

替换此代码:

insert_query = "INSERT INTO users VALUE ('$fornavn', '$efternavn',
'$adresse', '$postnummer', '$city', '$telefonnummer', '$fdag', '$password',
'$email')";
$insert_query = "INSERT INTO users VALUES ('$fornavn', '$efternavn',
'$adresse', '$postnummer', '$city', '$telefonnummer', '$fdag', '$password',
'$email')";
使用此代码:

insert_query = "INSERT INTO users VALUE ('$fornavn', '$efternavn',
'$adresse', '$postnummer', '$city', '$telefonnummer', '$fdag', '$password',
'$email')";
$insert_query = "INSERT INTO users VALUES ('$fornavn', '$efternavn',
'$adresse', '$postnummer', '$city', '$telefonnummer', '$fdag', '$password',
'$email')";
当值应该是
VALUES
时,您似乎没有拼写
VALUE

另外,您忘记在插入查询之前包含
$

让我知道它现在是否有效

替换此代码:

insert_query = "INSERT INTO users VALUE ('$fornavn', '$efternavn',
'$adresse', '$postnummer', '$city', '$telefonnummer', '$fdag', '$password',
'$email')";
$insert_query = "INSERT INTO users VALUES ('$fornavn', '$efternavn',
'$adresse', '$postnummer', '$city', '$telefonnummer', '$fdag', '$password',
'$email')";
使用此代码:

insert_query = "INSERT INTO users VALUE ('$fornavn', '$efternavn',
'$adresse', '$postnummer', '$city', '$telefonnummer', '$fdag', '$password',
'$email')";
$insert_query = "INSERT INTO users VALUES ('$fornavn', '$efternavn',
'$adresse', '$postnummer', '$city', '$telefonnummer', '$fdag', '$password',
'$email')";
当值应该是
VALUES
时,您似乎没有拼写
VALUE

另外,您忘记在插入查询之前包含
$


让我知道它现在是否有效

缺少
$
插入查询中缺少
$
插入查询中缺少
$
两行之间的区别是“值”和“值”。@DipanwitaKundu有什么问题?dude小姐拼写了他的sql语句抱歉我没有注意到拼写:(哦,我的想法是错误的。对不起。我以为你在生我的气。现在删除所有这些评论,因为它们与答案无关。感谢你的答案。缺少$before insert_查询,只是在这篇文章中。它实际上在我的php代码中,但不知何故,我在这个线程中复制它时删除了它。我还尝试将值更改为值。)没有结果。我的PHP文件中的语法似乎是正确的,但我不知道为什么它不能连接到mysql数据库。这两行之间的区别是“VALUE”和“VALUES”。@DipanwitaKundu它怎么了?这家伙没有拼写他的sql语句抱歉,我没有注意到拼写:(哦,我的想法是错误的。对不起。我以为你在生我的气。现在删除所有这些评论,因为它们与答案无关。感谢你的答案。缺少$before insert_查询,只是在这篇文章中。它实际上在我的php代码中,但不知何故,我在这个线程中复制它时删除了它。我还尝试将值更改为值。)没有结果。我的PHP文件中的语法似乎是正确的,但我不知道为什么它无法连接到mysql数据库。感谢您的回答。我尝试了以下命令来授予用户权限:将ALL ON tester授予由“adgangskode”标识的p2@'localhost',但没有帮助。$insert_查询已经在我的PHP文件中,但是当我在这里复制文本时,t不知何故被删除了。请尝试以下操作:在tester上授予ALL.*到'p2'@'localhost',刷新权限;感谢您的回答。我尝试了以下命令来授予用户权限:在tester上授予ALL到由'adgangskode'标识的p2@'localhost',但没有帮助。我的PHP文件中已经有$insert_查询,但是当我复制此处的文本时,t不知何故被删除。请尝试以下操作:将tester.*上的所有内容授予'p2'@'localhost';刷新权限;