[英]Script isn't sending login information correctly
我大约一个小时前才开始编写自己的脚本,遇到一个不确定的错误,似乎是用户名,由于执行我的PHP表时,由于某些原因,所有内容都可以正确解析创建脚本,它不是从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将正确的连接扩展到数据库(由于不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.