2014-07-02 46 views
-1

請你看看下面的代碼,讓我知道如何修復FROM econo WHERE ".$collm."=1") ;";代碼的一部分,以擺脫代碼錯誤的殘缺代碼。 我已經嘗試過用'更換"但這禁用$collm,我需要在代碼PHP-關於在AS上轉義Qout的問題SELECT

<?PHP 
include 'conconfig.php'; 
$con = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME); 
$collm = $_POST['column']; 
$query = "SELECT x, y FROM econo WHERE ".$collm."=1"; 
$results = $con->query($query); 
$return = array(); 
if($results) { 
while($row = $results->fetch_assoc()) { 
    $return[] = array((float)$row['x'],(float)$row['y']); 
} 
} 
$query2 = "CREATE TEMPORARY TABLE IF NOT EXISTS `charts_econo` (
      `id` int(12) NOT NULL AUTO_INCREMENT, 
      `econo_sum_projects` decimal(12,7) NOT NULL, 
      `econo_sum_powerline` decimal(12,7) NOT NULL, 
      `econo_sum_roads` decimal(12,7) NOT NULL, 
      `econo_sum_cost` decimal(12,7) NOT NULL, 
      PRIMARY KEY (`id`) 
     ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AS(SELECT COUNT(project), 
              SUM(powerline_length), 
              SUM(road_length), 
              SUM(cost_per_year) 
              FROM econo WHERE ".$collm."=1") ;"; 
$con->query($query2); 
$con->close(); 
echo json_encode($return); 
?> 

感謝

回答

0

來自
FROM econo WHERE ".$collm."=1") ;";

FROM econo WHERE ".$collm."=1) ;";

,如果你真的想離開那裏的報價,你只是有太多了。

+0

感謝visevo,貌似編輯器現在沒有錯誤,但是當我嘗試查詢表格時,我現在沒有收到任何東西 – user3668817

+1

如果SQL語法正確,那麼可能是您的查詢不正確,只返回0行。如果不是這樣,請嘗試調試查詢:'echo $ query2; die();'並確保'$ collm'有一個值 –

1

只需更換:

FROM econo WHERE ".$collm."=1") ;"; 

有:

FROM econo WHERE $collm=1"; 
+0

嗨Danijel使用你的方法啓用代碼的其他部分,但如何對$ collm它自己現在灰了嗎? – user3668817

+0

在[雙引號](http://www.php.net/manual/en/language.types.string.php#language.types.string.parsing)中,字符串變量被解析。 – Danijel