Что не так с 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;
}
Измените ваш 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));
Имена таблиц не заключаются в кавычки, меняются
CREATE TABLE 'test'
^ ^
к
CREATE TABLE `test` // don't even need back ticks usually