Я делаю простую установку скрипта, в которой пользователь входит на страницу, создаются системные таблицы. Код SQL для этих таблиц находится в том же каталоге, к которому я обращаюсь через функцию file_get_contents, а затем в mysql_query.Несколько mysql_query?
Но всегда получайте сообщение об ошибке. Я не понимаю этого, потому что, например, когда я запускаю код phpMyAdmin, он идет без проблем. Что это может быть?
PHP
$sql = file_get_contents("install.sql");
mysql_query($sql) or die("Error: ".mysql_error());
SQL
DROP TABLE IF EXISTS `jogos`;
CREATE TABLE `jogos` (
`id` int(15) NOT NULL AUTO_INCREMENT,
`casaid` varchar(255) NOT NULL,
`foraid` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Ошибка
Ошибка: У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для корректного синтаксиса использовать вблизи
'CREATE TABLE `jogos` (
`id` int(15) NOT NULL AUTO_INCREMENT,
`casaid` varc'
в строке 2
Спасибо заранее.
EDIT:
Благодаря Джоэл и Флориан для объяснения. В любом случае, я не знаю о MySQLi, решение, которое не нужно использовать расширение. Для тех, кто в этом нуждается:
$sqls = ""; // here go your all sql's
$split_sqls = explode(";", $sql);
for($index = 0; $index < count($split_sqls) - 1; $index++) {
$query = mysql_query($split_sqls[$index]);
if(!$query)
die("Error at $index SQL.\n\n".mysql_error());
}
С уважением!
[? Почему я не должен использовать mysql_ * функции в PHP] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions -в-PHP) – Phil