我试图用php执行SQL CREATE命令,但我遇到了这个问题:
SQLSTATE [3D000]:无效的目录名称:1046未选择数据库
我真的无法知道问题出在哪里,请你能帮帮我吗?
这是剧本:
include 'connessione.php';
try {
$sql = 'CREATE TABLE joke (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
joketext TEXT,
jokedate DATE NOT NULL
) DEFAULT CHARACTER SET uft8 ENGINE=InnoDB';
$pdo->exec($sql);
} catch (PDOException $e){
$output = 'Errore nella creazione della tabella joke: ' . $e->getMessage();
include 'output.html.php';
exit();
}
$output = 'Tabella creata con successo.';
include 'output.html.php';
?>
在这里" connessione.php"文件:
$host = 'host=localhost';
$mysql_user = 'root';
$mysql_password = '';
$database = 'php';
try {
$pdo = new PDO('mysql:$host;dbname=$database', $mysql_user, $mysql_password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
$output = 'Impossibile connettersi al database: ' . $e->getmessage();
include 'output.html.php';
exit();
}
?>
我检查了" connessione.php"文件和数据库的连接是对的。此外,我检查了用户权限,root拥有" php"的所有权限。数据库......问题是什么?!