Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP从mySQL表返回列名_Php_Arrays_Mysql - Fatal编程技术网

使用PHP从mySQL表返回列名

使用PHP从mySQL表返回列名,php,arrays,mysql,Php,Arrays,Mysql,我一辈子都搞不懂这个。尝试从clients securities表返回列名,然后将结果作为数组返回。有人能指出我偏离轨道的地方吗 mysql_select_db("HandlerProject", $con); //Selects database $selectcols = "SELECT * FROM ".$clientname."securitiestable"; //selects all columns from clients security ta

我一辈子都搞不懂这个。尝试从clients securities表返回列名,然后将结果作为数组返回。有人能指出我偏离轨道的地方吗

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\u fetch\u array()调用之前有
$
符号,因此需要为
$mysql\u fetch\u array
指定一个值(要调用的函数名)(这可能就是您在注释中看到错误的原因)

在第二个查询中,FROM之后也缺少空格

//                                          v
$tempsymbol = mysql_query("SHOW COLUMNS FROM ".$clientname."securitiestable");
最后要检查的是
$clientname
是否已设置

话虽如此,接受比尔·卡温的建议吧

我将使用
选择
查询,然后调用结果的任何一行

$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");

但对你来说,这可能不是你想要的。如果要按函数的字面名称调用函数,请不要在函数前面放一个
$
。如果您有一个包含函数名的字符串变量,那么您可以使用我上面显示的变量。

最后两行应该可以正常工作。有什么问题吗?对$returnedcols和$symbol行抛出一个“致命错误:函数名必须是字符串”我知道这篇文章很旧,但我只是好奇;您上面的方法-不会选择数据库中的每一行吗?当
显示来自
的列时,是否仅获取列名?请原谅我的愚蠢。如果你使用
mysql\u unbuffered\u query()
你可以只获取第一行。