我正在为vbulletin编写一个插件,其中包括创建一个新线程 - 下面的查询就是我所做的。查询在phpmyadmin中运行完美,但在php文件中运行时不执行;没有报告错误。谁能告诉我如何解决这个问题?非常感谢你!
mysql_query("INSERT INTO `thread` (`threadid`, `title`, `prefixid`, `firstpostid`, `lastpostid`, `lastpost`, `forumid`, `pollid`, `open`, `replycount`, `hiddencount`, `deletedcount`, `postusername`, `postuserid`, `lastposter`, `dateline`, `views`, `iconid`, `notes`, `visible`, `sticky`, `votenum`, `votetotal`, `attach`, `similar`, `taglist`, `awardedcredits`, `threaddesc`)
VALUES (NULL, '$mname', '', '0', '0', '0', '$M4rumid', '0', '1', '0', '0', '0', '$username', '$userid', '$username', '$date', '0', '0', '', '1', '0', '0', '0', '0', '', NULL, '0', 'awarded');
SET @threadid = LAST_INSERT_ID();
INSERT INTO `post` (`postid`, `threadid`, `parentid`, `username`, `userid`, `title`, `dateline`, `pagetext`, `allowsmilie`, `showsignature`, `ipaddress`, `iconid`, `visible`, `attach`, `infraction`, `reportthreadid`, `kbank`, `post_thanks_amount`)
VALUES (NULL, @threadid, '0', '$username', '$userid', '$mname', '$date', '$postcontent', '1', '1', '', '0', '1', '0', '0', '0', '0.00', '0');
SET @postid = LAST_INSERT_ID();
UPDATE `thread`
SET `firstpostid` = @postid,
`lastpostid` = @postid,
`lastpost` = '$date'
WHERE `threadid` = @threadid;
UPDATE `user`
SET `posts` = `posts`+1
WHERE `userid` = '$userid';");
答案 0 :(得分:0)
这些是4个查询,而不是1个。
mysql_query()向与指定link_identifier关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询)。
顺便说一下,在同一页上:
自PHP 5.5.0起,此扩展程序已弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展。
顺便提一下,VBulletin希望您与其数据库进行交互:Vbulletin SQL query syntax。
答案 1 :(得分:0)
我认为您的问题是您无法使用mysql_query运行多个查询。检查此链接:
http://php.net/manual/en/function.mysql-query.php
从他们的网站:
mysql_query()发送一个唯一的查询(多个查询不是 支持)到服务器上当前活动的数据库 与指定的link_identifier相关联。
尝试使用mysqli_multi_query:
祝你好运。