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);