Синтаксическая ошибка в запросе CREATE TABLE SQL

Что не так с SQL? Я не знаю, что не так. Это продолжает давать мне синтаксические ошибки.

$dbh->exec ("CREATE TABLE 'test'
(col1 CHAR (64) PRIMARY KEY,
col2 CHAR (64),
col3 CHAR (64),
col4 CHAR (64))") or die (print_r ($dbh->errorInfo (), true));

Я использую EasyPHP, только что установил его. Я пытаюсь создать таблицу, используя код выше. Это ошибка, которую он возвращает. Я пытался исправить синтаксис много раз. Я честно думаю, что синтаксис правильный. Это как-то связано с настройкой моей установки EasyPHP, например, возможно, неправильно настроен mysql.

Array ([0] => 42000 [1] => 1064 [2] => У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с » в строке 1 )

Редактировать:
Вот код, который я использую для подключения:

function dbConnect ($dbname) {
$user = "root";
$pass = "";
$db = new PDO ("mysql:host=127.0.0.1;dbname=$dbname", $user, $pass);
if ($db) {
//echo "Connected to database." . "</br>";
}

return $db;
}

2

Решение

Измените ваш SQL на:

CREATE TABLE test
(col1 CHAR (64) PRIMARY KEY,
col2 CHAR (64),
col3 CHAR (64),
col4 CHAR (64))

Попробуйте с:

$dbh->exec ("CREATE TABLE test
(col1 CHAR (64) PRIMARY KEY,
col2 CHAR (64),
col3 CHAR (64),
col4 CHAR (64))") or die (print_r ($dbh->errorInfo (), true));
2

Другие решения

Имена таблиц не заключаются в кавычки, меняются

CREATE TABLE 'test'
^    ^

к

CREATE TABLE `test`  // don't even need back ticks usually
2

По вопросам рекламы [email protected]