我遇到了一个非常奇怪的问题。
我有一个从MySql打印给定数据库表的列名的函数。
function getColoumn() {
//replace it with your host normally it could be localhost
$hostname='localhost';
//mysql user name
$username='admin_datauser';
//mysql user password
$password='iCoq4KrJM8';
//connect to the mysql server
$ss = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
//select a database on the mysql server
//please change as you like the database name
mysql_select_db('admin_data');
//SHOW COLUMNS FROM TABLENAME
$query=mysql_query('SHOW COLUMNS FROM user') or die(mysql_error());
foreach($fields as $key=>$field){
echo '"'.$field->Field.'", '; // print each field name
}
}
输出如下:
"id", "first_name", "last_name", "email", "address", "country", "city", "state", "phone_number", "fax", "image", "datecreated", "dateupdated", "Company", "token",
我还有另一个数组变量,其中当前静态值如下所示-
$searchArray = array("first_name","last_name","email","address","country","city","state","phone_number","fax","image");
我需要在$ searchArray中使用函数的变量。我尝试在arrya中调用变量,但是它没有任何作用。
有什么帮助吗?
最佳答案
首先,您不应该再使用mysql_
函数,因为它们已被弃用并且易于SQL注入。而不是使用PHP自己的PDO或mysqli库。
那么在foreach
循环中将元素直接添加到数组中会容易得多:
$searchArray = array();
foreach($fields as $key=>$field){
$searchArray[]= $field->Field;
}
注意:PHP中的
[]=
运算符的行为类似于+=
运算符。但是它没有添加数字值,而是将元素添加到数组中。