查询不在vbulletin php中执行

时间:2013-01-18 00:47:15

标签: php sql vbulletin

我正在为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';");

2 个答案:

答案 0 :(得分:0)

这些是4个查询,而不是1个。

来自PHP Manual on mysql_query

  

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:

http://php.net/manual/en/mysqli.multi-query.php

祝你好运。