使用PHP从mySQL表返回列名
我一辈子都搞不懂这个。尝试从clients securities表返回列名,然后将结果作为数组返回。有人能指出我偏离轨道的地方吗使用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
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()
你可以只获取第一行。