[英]Returning column names from a mySQL table using PHP
我一生都想不通。 嘗試從客戶證券表返回列名,然后將結果作為數組返回。 有人可以指出我偏離軌道的地方嗎?
mysql_select_db("HandlerProject", $con); //Selects database
$selectcols = "SELECT * FROM ".$clientname."securitiestable"; //selects all columns from clients security table
$tempcols = mysql_query($selectcols) or die(mysql_error());
$returnedcols = $mysql_fetch_array($tempcols);
$tempsymbol = mysql_query("SHOW COLUMNS FROM".$clientname."securitiestable");
$symbol = $mysql_fetch_array($tempsymbol);
意見建議:
您已經在mysql_fetch_array()調用前添加了$
符號,因此需要為$mysql_fetch_array
分配一個值(您要調用的函數名稱)(這可能就是為什么您看到注釋中提到的錯誤的原因) 。
另外,在第二個查詢中,FROM后面還缺少空格
// v
$tempsymbol = mysql_query("SHOW COLUMNS FROM ".$clientname."securitiestable");
最后要檢查的是-是否設置了$clientname
?
話雖如此-接受Bill Karwin的建議!
我將對SELECT
查詢使用mysql_fetch_assoc()
,然后在結果的任何行上調用array_keys()
。
$selectcols = "SELECT * FROM ".$clientname."securitiestable";
$tempcols = mysql_query($selectcols) or die(mysql_error());
$returnedcols = mysql_fetch_assoc($tempcols);
$colnames = array_keys($returnedcols);
您的致命錯誤是由一個單獨的問題引起的:函數調用開始時有一個$
符號。 這是合法的PHP語法,因為您可以將函數名稱放入變量中並間接調用它:
function foo($arg)
{
echo $arg . "!\n";
}
$bar = "foo";
$bar("hello world");
但就您而言,這可能不是您想要的。 如果要通過函數名稱來調用函數,請不要在其前面加上$
。 如果您有一個包含函數名稱的字符串變量,則可以使用上面顯示的變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.