大家好,我正在尝试创建一个网页,以创建一个数据库从一个php网页。但在运行页面并创建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!';
2条答案
按热度按时间zazmityj1#
“您的sql语法有错误;”-这很清楚。其中之一
mysql_query
语句在sql中有错误。1) 总是把这样的代码 Package 起来
try
&赫利普;catch
. 读这个2) 使用ide(如[eclipse]9https://www.eclipse.org/pdt/),但还有其他的),并学习使用调试器。它是你拥有的最强大的工具。你可以设置一个断点,让代码运行,它就会停在那里。然后,您可以检查变量和调用堆栈,逐行遍历代码,直到编写错误代码。
这两件事不仅会回答这个问题,而且会回答更多的问题,这些问题你可能会问我们在未来,但现在可以回答你自己。
fivyi3re2#
tyniint不是有效的列类型。这应该纠正到tinyint。
完整的错误消息应该让您大致了解错误的来源。如果没有,那么将查询粘贴到任何带有语法着色的sql编辑器中也可能很有用。