我遇到了一个非常奇怪的问题。

我有一个从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自己的PDOmysqli库。

那么在foreach循环中将元素直接添加到数组中会容易得多:

$searchArray = array();

foreach($fields as $key=>$field){
    $searchArray[]= $field->Field;
}


注意:PHP中的[]=运算符的行为类似于+=运算符。但是它没有添加数字值,而是将元素添加到数组中。

10-08 09:32
查看更多