0

新しいスレッドの作成を含む 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';");
4

2 に答える 2

0

これらは 4 つのクエリであり、1 つではありません。

mysql_queryのPHP マニュアルから:

mysql_query()は、指定された link_identifier に関連付けられているサーバー上の現在アクティブなデータベースに一意のクエリ (複数のクエリはサポートされていません) を送信します。

ちなみに、同じページで:

この拡張モジュールは PHP 5.5.0 で非推奨になり、将来的に削除される予定です。代わりに、MySQLi または PDO_MySQL 拡張機能を使用する必要があります。

ちなみに、VBulletin がデータベースと対話する方法は次のとおりです。 Vbulletin SQL クエリ構文

于 2013-01-18T01:03:26.580 に答える
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

幸運を。

于 2013-01-18T01:03:33.787 に答える