Php 通过SQL pro可以正常工作的MySQL查询在mysqli_查询中不起作用
我尝试了很多东西,但不明白为什么这不起作用。。。 基本上,我正在删除和创建表。下面的查询在SQL PRO或mysqladmin中非常有效Php 通过SQL pro可以正常工作的MySQL查询在mysqli_查询中不起作用,php,mysql,sql,database,Php,Mysql,Sql,Database,我尝试了很多东西,但不明白为什么这不起作用。。。 基本上,我正在删除和创建表。下面的查询在SQL PRO或mysqladmin中非常有效 SET foreign_key_checks = 0; DROP TABLE IF EXISTS `calendarCountries`; CREATE TABLE `calendarCountries` ( `id` int(5) NOT NULL AUTO_INCREMENT, `country` varchar(50) NOT NULL,
SET foreign_key_checks = 0;
DROP TABLE IF EXISTS `calendarCountries`;
CREATE TABLE `calendarCountries` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`country` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
insert into calendarCountries (id,country) values (1,'US');
DROP TABLE IF EXISTS `calendarWorldHolidays`;
CREATE TABLE `calendarWorldHolidays` (
`holidayName` varchar(150) NOT NULL,
`holidayDate` date NOT NULL,
`countryCode` int(5) DEFAULT NULL,
KEY `countryCode` (`countryCode`),
CONSTRAINT `calendarWorldHolidays_ibfk_1` FOREIGN KEY (`countryCode`) REFERENCES `calendarCountries` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
SET foreign_key_checks = 1;
但每当我试图通过php执行它时,它都不起作用,这给了我一个语法错误
我只是像这样将sql语句复制到php
$createTablesQuery = " <I copy the statements above here> "
mysqli_query($link, $createTablesQuery)
$createTablesQuery=“”
mysqli_查询($link,$createTablesQuery)
我得到的错误是:
无效查询:SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,了解使用near'DROP TABLE(如果存在)的正确语法calendarCountries
;创建表格日历国家
(“在第3行
请帮助我,我做错了什么?该函数只允许使用一个查询。如果需要运行几个查询,则需要对每个查询使用一个mysqli\u查询,或者使用该函数。例如:
$query1 = "CREATE TABLE `calendarCountries` ( `id` int(5) NOT NULL AUTO_INCREMENT, `country` varchar(50) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;";
$query2 = "insert into calendarCountries (id,country) values (1,'US');";
//Variant 1
mysqli_query($link, $query1);
mysqli_query($link, $query2);
//Variant2
mysqli_multi_query($link, $query1.$query2);
您不能执行那样的多个查询。请改用mysqli\u multi\u query()
。