簡體   English   中英

無法從PHP執行多表MySQL查詢

[英]Trouble executing multiple-table mysql query from PHP

我試圖符合使用從值在MySQL表中的行table1.column1table2.column3然后將值從復制table2.column2table1.column1每場比賽。 下面的查詢執行我需要做的事情,但僅當我手動執行(通過phpmyadmin)時才執行。 當我嘗試從PHP執行它時, Unknown column table1.column1 in 'field list'收到錯誤Unknown column table1.column1 in 'field list' 這是我的PHP代碼:

<?php
mysql_connect($host,$user,$pass);
$db_selected = mysql_select_db($data);

$sql = "UPDATE table1 t1, table2 t2 
        SET t1.column1 = t2.column2 
        WHERE t1.column1 = t2.column3";

$result = mysql_query($sql);

if (!$result) {
  echo mysql_error();
} ?>

我知道mysql連接信息有效,因為我能夠執行其他查詢。 從我對錯誤的研究看來,我可能需要對查詢的某些部分進行反引號,但經過幾次嘗試后,我仍找不到正確的方法。

編輯1-根據要求,這里是真正的查詢:

UPDATE wp_mf_custom_groups,wp_mf_posttypes
SET wp_mf_custom_groups.post_type=wp_mf_posttypes.type
WHERE wp_mf_custom_groups.post_type=wp_mf_posttypes.id

輸出錯誤

Unknown column 'wp_mf_custom_groups.post_type' in 'field list'

我剛剛意識到的其他信息可能與之沖突。 在發生這種情況之前,我還使用以下方法重命名了表:

RENAME TABLE wp_mf_module_groups TO wp_mf_custom_groups

也許由於表只是被重命名而不能引用它?

僅在WHERE之后將反引號添加到列時有效

UPDATE wp_mf_custom_groups,wp_mf_posttypes
SET wp_mf_custom_groups.post_type=wp_mf_posttypes.type
WHERE wp_mf_custom_groups.`post_type=wp_mf_posttypes.id

如果查詢適用於PHPmyadmin,請嘗試以下操作

<?php
$con = mysql_connect($host,$user,$pass) or die('Failed to connect');
$db_selected = mysql_select_db('db_name', $con);

$sql = "UPDATE table1 t1, table2 t2 
    SET t1.column1 = t2.column2 
    WHERE t1.column1 = t2.column3";

$result = mysql_query($sql, $con);

if (!$result) {
  echo mysql_error();
} ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM