没有选择数据库错误信息

2023-03-06php开发问题
7

本文介绍了没有选择数据库错误信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在将所有使用 PHP MySQL 的查询更改为 MySQLi.

I am changing all my queries that are using PHP MySQL to MySQLi.

我用连接设置创建了一个名为 db.php 的文件.

I have made a file called db.php with the connection settings.

文件包含

<?php
$db = new mysqli('localhost','mysqlusername','mysqlpassword');
echo "<h1>Success database connection</h1>";
if($db->connect_errno > 0)
{
die('No connection [' . $db->connect_error . ']');
}
?>

我将文件包含在:

require_once "/location/db.php";    

之后我使用:

 if($db->connect_error)
 {
   echo "Not connected, error: ".$db->connect_error;
 }  
 else
 {
   echo "Connected.";
 }

它回显已连接,所以我认为我的连接良好.

It echo's Connected so I assume my connection is good.

我有 3 个 PHP 变量要插入到我的数据库表代码中

I have 3 PHP variables which I want to insert in my database table Code

我首先回显变量,所以我确定它们有内容.

I first echo the variables so I am sure they have content.

在我验证我的连接没问题后(返回 Connected)并回显我想要查询的变量的内容:

After I validated my connection is alright (returned Connected) and echoing the content of the variables I want to do the query with:

$sql = "INSERT INTO 'Code' (`Name`, `Code`, `Admin`)
VALUES ('$name', '$code', '$admin')"; 
echo $sql;//show query
// Performs the $sql query on the server to insert the values
if ($db->query($sql) === TRUE)
{
    echo 'User Created.';
}
else 
{
    echo 'Errorcreating : '. $db->error;
}

我收到消息 Errorcreating : No database selected

I get the message Errorcreating : No database selected

我有 echo $sql 来显示查询.

I have the echo $sql to show me the query.

如果我直接在 SQL 中复制查询,它会像它应该的那样工作.

If I copy the query directly in SQL it works like it should.

这是我第一次使用 MySQLi,所以我可能犯了一个非常愚蠢的错误,但我找不到.

This is my first time on MySQLi so it's possible I made a very dumb mistake but I can't find it.

推荐答案

打开连接时可以传递数据库名称作为第四个参数:

When opening the connection you can pass the database name as a 4th parameter:

$db = new mysqli('localhost','mysqlusername','mysqlpassword','database');

另外,你的转义字符是错误的.不要在表名周围使用单引号,而是使用反引号运算符

Also, your escape character is wrong. Don't use single quotes around table names, use backtick operator instead

$sql = "INSERT INTO `Code` (`Name`, `Code`, `Admin`)VALUES ('$name', '$code', '$admin')"; 

这篇关于没有选择数据库错误信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

PHP实现DeepL翻译API调用
DeepL的翻译效果还是很强大的,如果我们要用php实现DeepL翻译调用,该怎么办呢?以下是代码示例,希望能够帮到需要的朋友。 在这里需要注意,这个DeepL的账户和api申请比较难,不支持中国大陆申请,需要拥有香港或者海外信用卡才行,没账号的话,目前某宝可以...
2025-08-20 php开发问题
168

PHP通过phpspreadsheet导入Excel日期数据处理方法
PHP通过phpspreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的...
2024-10-23 php开发问题
287

mediatemple - 无法使用 codeigniter 发送电子邮件
mediatemple - can#39;t send email using codeigniter(mediatemple - 无法使用 codeigniter 发送电子邮件)...
2024-08-23 php开发问题
11

Laravel Gmail 配置错误
Laravel Gmail Configuration Error(Laravel Gmail 配置错误)...
2024-08-23 php开发问题
16

将 PHPMailer 用于 SMTP 的问题
Problem with using PHPMailer for SMTP(将 PHPMailer 用于 SMTP 的问题)...
2024-08-23 php开发问题
4

关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题
Issue on how to setup SMTP using PHPMailer in GoDaddy server(关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题)...
2024-08-23 php开发问题
17