脚本没有正确发送登录信息


Script isn't sending login information correctly

我刚刚开始编码我自己的脚本大约一个小时前,我遇到了一个错误,我不确定如何修复,似乎一切都是正确的解析除了用户名,出于某种原因,当我执行我的PHP表创建脚本它不是解析用户名从config.php,而不是执行脚本没有用户名。

我把代码虽然phpcodechecker.com/,它没有给我任何东西,甚至没有任何警告,它让我真的很困惑,代码看起来很好,但我在这方面相当新手,所以我可能错过了一些巨大的,任何帮助将非常感激。

为什么这段代码不解析用户名通过createtable.php当它试图连接?

有问题的代码片段;堆栈格式化代码块的方式让我很困惑所以我直接使用pastebin

config。

createtable.php

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

mysqli_connect($db_hostname, $db_username, $db_password)
mysql_select_db($db_database) 

要使用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');

那么你的creatables.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