PHP MySQL-错误:未选择任何数据库

PHP MySQL-错误:未选择任何数据库,php,mysql,create-table,Php,Mysql,Create Table,我正在尝试读取和写入数据库。以下是我目前掌握的代码: $mysql = mysqli_connect("example.com", "johndoe", "abc123"); // replace with actual credidentials $sql = "CREATE DATABASE IF NOT EXISTS dbname"; if (!mysqli_query($mysql, $sql)) { echo "Error creating database: " . mysq

我正在尝试读取和写入数据库。以下是我目前掌握的代码:

$mysql = mysqli_connect("example.com", "johndoe", "abc123"); // replace with actual credidentials
$sql = "CREATE DATABASE IF NOT EXISTS dbname";
if (!mysqli_query($mysql, $sql)) {
    echo "Error creating database: " . mysqli_error($mysql);
}
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_close($mysql);
$mysql = mysqli_connect("example.com", "johndoe", "abc123", "dbname"); // replace with actual credidentials
$sql = "CREATE TABLE IF NOT EXISTS Users(ID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(ID), username CHAR(15), password CHAR(15), email CHAR(50))";
if (!mysqli_query($mysql, $sql)) {
    echo "Error creating table: " . mysqli_error($mysql);
}
$sql = "INSERT INTO Customers(username, password, email) VALUES(" . $username . ", " . $password . ", " . $email . ")";
if (!mysqli_query($mysql, $sql)) {
    echo "Error: " . mysqli_error($mysql);
}
mysqli_close($mysql);
但是,当我尝试运行它时,它有一个错误:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' , )' at line 1
有人能告诉我如何解决这个问题吗?

尝试在数据库连接和表创建之间使用in


另外,
mysql\uuu
已被弃用,请改用
mysqli\u
您在mysqli\u connect()调用中缺少数据库

请,它需要4个参数。您还必须提供数据库名称

$link = mysqli_connect("myhost","myuser","mypassw","my_db");

首先检查mysqli\u select\u db,如果返回false,则创建数据库

试着这样做:

 $mysql = mysqli_connect("example.com", "johndoe", "abc123") or die(mysqli_connect_error()); // replace with actual credidentials

if (!mysqli_select_db($mysql,'hardestgame_accounts')) {
 $sql = "CREATE DATABASE IF NOT EXISTS hardestgame_accounts";
 if (!mysqli_query($mysql, $sql)) {
    echo "Error creating database: " . mysqli_error($mysql);
 }
}
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = "CREATE TABLE IF NOT EXISTS Users(ID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(ID), username CHAR(15), password CHAR(15), email CHAR(50))";
if (!mysqli_query($mysql, $sql)) {
    echo "Error creating table: " . mysqli_error($mysql);
}
mysqli_close($mysql);

这里有一个很好的答案:

很明显,答案是你的错误。您没有选择任何数据库。使用此函数时,请指定要连接的数据库

以下是函数的语法:

1) 在应用程序外部创建数据库

2) 指定要选择的数据库的mysqli_connect

您还可以使用另一个名为mysqli_select_db的函数。您可以在此处找到sytanx:

如评论中所述,您还必须将“example.com”替换为您的ip地址,如果您在本地运行,请将其替换为127.0.0.1:3306,如果您在使用数据库帐户安装mysql数据库/“johndoe”时未更改端口,您可以将其更改为“root”/“abc123”您的根帐户密码默认为:“”


祝你好运

对MYSQL保留字使用'backticks'。。。 您的表名是MYSQL的保留字。。。
更改您的表名。

在创建表之前,您必须选择数据库。..mysqli\u select\u db()函数不存在。这不是我所做的吗?@Oliver:如果(!mysqli\u select\u db($mysql,'hardestgame\u accounts'))@Awland Liton lol.它确实存在,请检查此行
。我也很怀疑,但是www.php.net/mysqli\u select\u db‎ 已解析为“mysqli\u select\u数据库不存在。最接近的匹配项:…”确定。。。谁从php.net中删除了beta标签?!:)@奥利弗:你试过这个吗?
 $mysql = mysqli_connect("example.com", "johndoe", "abc123") or die(mysqli_connect_error()); // replace with actual credidentials

if (!mysqli_select_db($mysql,'hardestgame_accounts')) {
 $sql = "CREATE DATABASE IF NOT EXISTS hardestgame_accounts";
 if (!mysqli_query($mysql, $sql)) {
    echo "Error creating database: " . mysqli_error($mysql);
 }
}
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql = "CREATE TABLE IF NOT EXISTS Users(ID INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(ID), username CHAR(15), password CHAR(15), email CHAR(50))";
if (!mysqli_query($mysql, $sql)) {
    echo "Error creating table: " . mysqli_error($mysql);
}
mysqli_close($mysql);