大家好,我正在尝试创建一个页面,以便从php页面创建一个db。但是,在运行页面并创建Mysql数据库时,浏览器将返回以下错误:
您的SQL语法出现了错误;右侧是服务器的新版本。
我把代码作为MyISAM引擎,而不是MariaDB (或AIR),所以我不理解这个问题,因为我从XAMPP的控制面板中检查了顾忌,并且我仍然使用的版本在MyISAM引擎中。
我复制了我使用的代码,感谢所有想要帮助我的人。
< $db = mysql_connect('localhost', 'admin', 'pizzaballa') or die
('Non è possibile connettersi. Controllare i parametri di
connessione.');
$query = 'CREATE DATABASE IF NOT EXISTS moviesite';
mysql_query($query, $db) or die(mysql_error($db));
mysql_select_db('moviesite', $db) or die(mysql_error($db));
$query = 'CREATE TABLE movie ( movie_id INTEGER UNSIGNED NOT NULL
AUTO_INCRMENT, movie_name VARCHAR(255) NOT NULL, movie_type TINYINT
NOT NULL DEFAULT 0, movie_year SMALLINT UNSIGNED NOT NULL DEFAULT 0,
movie_leadactor INTEGER UNSIGNED NOT NULL DEFAULT 0, movie_director
INTEGER UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (movie_id), KEY movie_type (movie_type, movie_year) )
ENGINE=MyISAM'; mysql_query($query, $db) or die (mysql_error($db));
$query = 'CREATE TABLE movietype ( movietype_id TINYINT UNSIGNED NOT
NULL AUTO_INCREMENT, movietype_label VARCHAR (100) NOT NULL, PRIMARY
KEY (movietype_id) ) ENGINE=MyISAM'; mysql_query($query, $db) or die
(mysql_error($db));
$query = 'CREATE TABLE people ( people_id INTEGER UNSIGNED NOT NULL
AUTO_INCREMENT, people_fullname VARCHAR (255) NOT NULL, people_isactor
TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, people_isdirector TYNIINT(1)
UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (people_id) ) ENGINE=MyISAM'; mysql_query($query, $db) or
die (mysql_error($db));
echo 'Database movie creato correttamente!'; 发布于 2018-08-24 09:51:41
CREATE TABLE people ( people_id INTEGER UNSIGNED NOT NULL
AUTO_INCREMENT, people_fullname VARCHAR (255) NOT NULL, people_isactor
TINYINT(1) UNSIGNED NOT NULL DEFAULT 0, people_isdirector TYNIINT(1)
UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (people_id) ) ENGINE=MyISAMTYNIINT不是有效的列类型。这应该更正为TINYINT。
完整的错误信息应该让您大致了解错误的来源。否则,将查询粘贴到任何具有语法着色的SQL编辑器中也可能是有用的。
发布于 2018-08-24 09:55:31
“您的SQL语法出现了错误;”--这已经足够清楚了。其中一个mysql_query语句在SQL中存在en错误。
1)总是用try & hellip;catch包装这样的代码。读取这
2)使用IDE (如asEclipse9https://www.eclipse.org/pdt/),但还有其他的),并学习使用调试器。这是你拥有的最强大的工具。您可以设置一个断点,让代码运行,它就会停止。然后,您可以检查变量和调用堆栈,并逐行遍历代码,直到对错误进行编码。
这两件事不仅会回答这个问题,而且还会回答更多你将来可能会问我们的问题,但现在可以自己回答了。
https://stackoverflow.com/questions/52001583
复制相似问题