【问题标题】:connect php to mysql将php连接到mysql
【发布时间】:2019-02-08 18:16:58
【问题描述】:

请问,有人可以帮我解决我的错误吗?创建数据库效果很好,但是当我创建表时,会出现此 SQLSTATE 错误 [3D000]: Invalid catalog name: 1046 No database selected 以下是代码:

<? php
$server = 'localhost';
$login = 'root';
$password = '';
try{
  $connexion = new PDO('mysql:host = $server; dbname=test', $login, $password);
  $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $connexion->exec("CREATE TABLE utilisateur(nom varchar(50))");
  echo 'Réussi';
}
catch(PDOException $e){
  echo 'Echec de la connexion : '.$e->getMessage();
}
?>

【问题讨论】:

  • 这不是重复的@ZainFarooq。两个完全不同的问题
  • &lt;? php 中真的有空格吗?您的连接声明中还有其他问题。
  • 删除连接字符串中的空格 - 'mysql:host=$server;dbname=test'
  • 尝试使用VARCHAR(255) 作为默认的“字符串”字段。任何较短的内容都可能并且会导致意外的截断问题。

标签: php mysql


【解决方案1】:

就像错误所说:

'未选择数据库'

在创建表之前,您必须选择要在哪个数据库中创建表。如果您手动创建表,您将登录到您的 mysql 服务器,然后在 mysql 服务器中输入以下内容:

USE dbname; 

由于您可能希望在 php 中创建表,因此您应该已经登录到所需数据库下的 mysql 服务器:

$connexion = new PDO('mysql:host = $server; dbname=test', $login, $password);

如果该数据库不存在,您需要使用以下命令创建它:

CREATE DATABASE dbname;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-12
    • 2016-09-12
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 2012-01-16
    相关资源
    最近更新 更多