0

クエリを作成しましたが、次のようにサーバー上の MySQL を介して直接動作します。

CREATE TABLE tmp_1 (user1 varchar(255), pid int(11));INSERT INTO famgallery. tmp_1SET user1= (SELECT titleFROM cpg15x_albumsWHERE aid= (SELECT aid FROM cpg15x_pictures WHERE pid=(cpg15x_pictures から max(pid) を選択))); 更新しfamgalleryます。tmp_1セットpid= (SELECT MAX(pid) FROM cpg15x_pictures) ; UPDATE cpg15x_pictures f、tmp_1 t SET f.user1 = t.user1 WHERE f.pid = t.pid; DROP TABLE tmp_1;

問題は、それを PHP に移動しようとすることによって発生します。

cpg_db_query("CREATE TABLE tmp_1 (user1 varchar(255), pid int(11));INSERT INTO famgallery. tmp_1SET user1= (SELECT titleFROM cpg15x_albumsWHERE aid= (SELECT aid FROM cpg15x_pictures WHERE pid=(cpg15x_pictures から max(pid) を選択))); UPDATE famgallery. tmp_1SET pid= (SELECT MAX(pid) FROM cpg15x_pictures) ; UPDATE cpg15x_pictures f, tmp_1 t SET f.user1 = t.user1 WHERE f.pid = t.pid; DROP TABLE tmp_1;")

1日分の実験の後、アプリケーションは私にこの重大なエラーを与え続けます:

mySQL エラー: SQL 構文にエラーがあります。次の場所で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

'INSERT INTO cpg15x_tmp_1 SET `user1` = (SELECT `title` FROM cpg15x_albums WHERE ' at line 1.  File: /home/content/47/9243147/html/family/include/functions.inc.php - Line: 270

アプリケーション コードのどこかに競合があるのではないかと考え始めています。なぜなら、サーバー上では直接問題なく動作するのに、この量のいじくり回した後に PHP では動作しない理由が理解できないからです。任意の考えをいただければ幸いです。

cpg_db_queryアプリケーションに組み込まれています。私が知る限り、 と同じ操作を実行しmysqli_queryます。

関連ファイル:

4

2 に答える 2