2013-04-15 56 views
-3

我有一個android應用程序,它將表名作爲參數發送給執行mySQL查詢的php腳本。 問題是表名是一個參數(因此是動態的)。我嘗試使用{$table_name}和反引號,如我在這裏閱讀的一些問題中所建議的,但似乎沒有任何工作。 有人可以告訴解決這個問題嗎?在PHP中使用動態表名執行mySQL查詢

<?php 
    $dbhost = "localhost"; 
    $dbuser = "root"; 
    $dbpass = "mmm"; 
    $connect = mysql_connect($dbhost, $dbuser, $dbpass); 
    $tabn= $_POST['tabn']; 
    $dt=$_POST['dt']; 
    $query="INSERT into $tabn VALUES('$dt')"; 
    $result = mysql_query($query); 
    if($result) 
    { 
    $response["success"]=1; 
    } 
    else 
    { 
    $response["error"]=1; 
    } 
    echo json_encode($response); 
    ?> 

該php腳本如上所述。我正在將error = 1作爲android LogCat窗口中的輸出。廣場

if(mysql_errno()){ 
    die(mysql_error()); 
} 

$result = mysql_query($query); 

+0

你能迴應$查詢並直接在你的phpmyadmin中運行,那麼你可以很容易地知道什麼是問題 – Afsar

+0

你有沒有試過用'== 1',用2x'='而不是1的符號? –

+0

如果我回顯它會在哪裏顯示?以及在phpmyadmin中執行特定查詢的命令是什麼? @Fred Single =只是賦值。 ==用於檢查條件是否爲真。 – user2157501

回答

1

只是它會告訴你MySQL錯誤。

OR:

if(mysql_errno()){ 
    $response["error"] = 1; 
    $response["message"] = mysql_error(); 
} else { 
    $response["success"] = 1; 
} 

相反的:

if($result){ 
    $response["success"] = 1; 
} else { 
    $response["error"] = 1; 
} 
+0

也許有人會告訴我,我提出了什麼問題? – BlitZ

+0

我沒有投票給你。但它是一個評論。我會投你一票 – Amir

+0

謝謝,但沒關係。我只是好奇,如果有什麼問題。 OP可能有更好的調試與此片段。 – BlitZ

0
$tablename = $_POST['gettable']; 
$data='this is data you want to insert'; 
mysql_query("insert into `$tablename`(`data`) values('$data')"); 

$tablename 

它獲取數據將插入的表的名稱。

$data 

這是您要插入的數據。

如果要在數據庫中插入數據,並且想在一個查詢中選擇 不同的表格。然後使用這個查詢,你可以在不同的表上插入數據 。