繁体   English   中英

脚本未正确发送登录信息

[英]Script isn't sending login information correctly

我大约一个小时前才开始编写自己的脚本,遇到一个不确定的错误,似乎是用户名,由于执行我的PHP表时,由于某些原因,所有内容都可以正确解析创建脚本,它不是从config.php解析用户名,而是执行没有用户名的脚本。

我把代码放到phpcodechecker.com/上了,它什么也没给我,甚至没有警告,它确实让我很困惑,代码对我来说看起来还不错,但是我对此还是新手,所以我可能错过了一些东西, 任何帮助将不胜感激。

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

相关代码段; 堆栈格式代码块的方式使我感到困惑,所以我只使用pastebin

config.php文件

createtable.php

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

mysqli_connect($db_hostname, $db_username, $db_password)

mysql_select_db($db_database) 

要使用mysqli将正确的连接扩展到数据库(由于不mysql_*使用mysql_*函数,显然最好使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM