Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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_Send_Details - Fatal编程技术网

Php 脚本不是';无法正确发送登录信息

Php 脚本不是';无法正确发送登录信息,php,send,details,Php,Send,Details,大约一个小时前,我刚开始编写自己的脚本,我遇到了一个错误,我不确定如何修复,似乎除了用户名之外,所有内容都在正确解析,出于某种原因,当我执行PHP table create脚本时,它不是从config.PHP解析用户名,而是在执行没有用户名的脚本 我将代码放在phpcodechecker.com/上,它没有给我任何东西,甚至没有任何警告,这让我非常困惑,代码对我来说很好,但我在这方面非常新手,所以我可能错过了一些重大的东西,任何帮助都将不胜感激 为什么这段代码在尝试连接时不将用户名解析为crea

大约一个小时前,我刚开始编写自己的脚本,我遇到了一个错误,我不确定如何修复,似乎除了用户名之外,所有内容都在正确解析,出于某种原因,当我执行PHP table create脚本时,它不是从config.PHP解析用户名,而是在执行没有用户名的脚本

我将代码放在phpcodechecker.com/上,它没有给我任何东西,甚至没有任何警告,这让我非常困惑,代码对我来说很好,但我在这方面非常新手,所以我可能错过了一些重大的东西,任何帮助都将不胜感激

为什么这段代码在尝试连接时不将用户名解析为createtable.php

有问题的代码片段; 堆栈格式化代码块的方式让我非常困惑,所以我只使用pastebin


这是因为您在
config.php
中混合了
mysqli
mysql
api,它们最终完全没有连接

mysqli_connect($db_hostname, $db_username, $db_password)

mysql_select_db($db_database) 
要使用mysqli扩展到数据库的正确连接(使用mysqli显然更好,因为不推荐使用
mysql.*
函数),请执行以下操作:

$mysqli = new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

if ($mysqli->connect_errno) {
    die('Connect Error: ' . $mysqli->connect_errno);
}
你可以查一下

我想补充一点,您可以在任何其他需要连接的脚本中使用来自
config.php
的连接

require('config.php');
因此,您的
createables.php
将如下所示

require("config.php");

$sql="CREATE TABLE quoter (
    id int NOT NULL AUTO_INCREMENT,
    quote text NOT NULL,
    quoteby CHAR(50) NOT NULL,
    PIMARY KEY (id)
    )";

if (mysqli_query($mysqli,$sql))
{
    echo "Table 'quoter' was created sucessfully";
}
else
{
    echo "Error creating table 'quoter': ".mysqli_error($mysqli);
}
以及您的
config.php

$mysqli = new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

if ($mysqli->connect_errno) {
    die('Connect Error: ' . $mysqli->connect_errno);
}
我希望您注意,
$mysqli
是处理连接的参数,因此在数据库中执行操作时需要传递此参数,例如

mysqli_query($mysqli,$sql);
           //^here it is

这是因为您在
config.php
中混合了
mysqli
mysql
api,最终根本没有连接

mysqli_connect($db_hostname, $db_username, $db_password)

mysql_select_db($db_database) 
要使用mysqli扩展到数据库的正确连接(使用mysqli显然更好,因为不推荐使用
mysql.*
函数),请执行以下操作:

$mysqli = new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

if ($mysqli->connect_errno) {
    die('Connect Error: ' . $mysqli->connect_errno);
}
你可以查一下

我想补充一点,您可以在任何其他需要连接的脚本中使用来自
config.php
的连接

require('config.php');
因此,您的
createables.php
将如下所示

require("config.php");

$sql="CREATE TABLE quoter (
    id int NOT NULL AUTO_INCREMENT,
    quote text NOT NULL,
    quoteby CHAR(50) NOT NULL,
    PIMARY KEY (id)
    )";

if (mysqli_query($mysqli,$sql))
{
    echo "Table 'quoter' was created sucessfully";
}
else
{
    echo "Error creating table 'quoter': ".mysqli_error($mysqli);
}
以及您的
config.php

$mysqli = new mysqli('localhost', 'fake_user', 'my_password', 'my_db');

if ($mysqli->connect_errno) {
    die('Connect Error: ' . $mysqli->connect_errno);
}
我希望您注意,
$mysqli
是处理连接的参数,因此在数据库中执行操作时需要传递此参数,例如

mysqli_query($mysqli,$sql);
           //^here it is

如果您在config.php中连接,为什么要在createtable.php中重新连接?您提出了一个很好的观点,删除了它,但它仍然输出无法选择定义的数据库:拒绝用户“”@'localhost'访问数据库“testdb”,这告诉我它仍然无法将用户名根发送到数据库,我不明白为什么看一看Fabio的答案,它应该可以解决问题。如果你在config.php中连接,为什么要在createtable.php中重新连接?你说得很好,已删除,但仍无法选择已定义的数据库:用户“@'localhost”对数据库“testdb”的访问被拒绝,这告诉我它仍然无法将用户名根发送到数据库,我不明白为什么查看Fabio的答案,应该可以解决问题。谢谢Fabio,您的帖子内容非常丰富,源代码/文档也非常感谢,在阅读完之后,我将在mysqli中重新启动整个config.php,您看到的createtable.php文件是否存在与config.php中的mysqli冲突的重大问题?@BenF我已经更新了我的答案,让您理解,请再次检查它谢谢Fabio,为了正确地学习它,我对你发布的所有内容进行了引用,并做了一些小改动,但基本上你让它为我工作了:)我实际上正在考虑将它全部切换回MySQL,但在你的帮助和引用下,MySQLi并没有那么令人畏惧。@BenF欢迎你。我建议下一步学习
准备好的语句
,它将帮助您在任何情况下正确处理mysql数据库。成功是短暂的,出于某种原因,它说我没有选择数据库,尽管我明确告诉它选择testdb谢谢Fabio,您的帖子内容非常丰富,源代码/文档也非常感谢,在阅读完之后,我将在mysqli中重新启动整个config.php,您看到的createtable.php文件是否存在与config.php中的mysqli冲突的重大问题?@BenF我已经更新了我的答案,让您理解,请再次检查它谢谢Fabio,为了正确地学习它,我对你发布的所有内容进行了引用,并做了一些小改动,但基本上你让它为我工作了:)我实际上正在考虑将它全部切换回MySQL,但在你的帮助和引用下,MySQLi并没有那么令人畏惧。@BenF欢迎你。我建议下一步学习
准备好的语句
,它将帮助您在任何情况下正确处理mysql数据库。成功是短暂的,出于某种原因,它说我没有选择数据库,尽管我明确告诉它选择testdb