首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >语法错误还是引擎错误?

问语法错误还是引擎错误?
EN

Stack Overflow用户
提问于 2018-08-24 09:37:13
回答 2查看 140关注 0票数 1

大家好,我正在尝试创建一个页面,以便从php页面创建一个db。但是,在运行页面并创建Mysql数据库时,浏览器将返回以下错误:

您的SQL语法出现了错误;右侧是服务器的新版本。

我把代码作为MyISAM引擎,而不是MariaDB (或AIR),所以我不理解这个问题,因为我从XAMPP的控制面板中检查了顾忌,并且我仍然使用的版本在MyISAM引擎中。

我复制了我使用的代码,感谢所有想要帮助我的人。

代码语言:javascript
复制
 < $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!'; 
EN

回答 2

Stack Overflow用户

发布于 2018-08-24 09:51:41

代码语言:javascript
复制
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

TYNIINT不是有效的列类型。这应该更正为TINYINT。

完整的错误信息应该让您大致了解错误的来源。否则,将查询粘贴到任何具有语法着色的SQL编辑器中也可能是有用的。

票数 0
EN

Stack Overflow用户

发布于 2018-08-24 09:55:31

“您的SQL语法出现了错误;”--这已经足够清楚了。其中一个mysql_query语句在SQL中存在en错误。

1)总是用try & hellip;catch包装这样的代码。读取这

2)使用IDE (如asEclipse9https://www.eclipse.org/pdt/),但还有其他的),并学习使用调试器。这是你拥有的最强大的工具。您可以设置一个断点,让代码运行,它就会停止。然后,您可以检查变量和调用堆栈,并逐行遍历代码,直到对错误进行编码。

这两件事不仅会回答这个问题,而且还会回答更多你将来可能会问我们的问题,但现在可以自己回答了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52001583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档