0

我正在尝试从数据库中获取价值,这是我的代码:

function client() {
    $code=$_GET['actvcode'];
    $db = mysql_connect('localhost','root','0000');

    if (!$db) die("Error connecting to MySQL database.");

    mysql_query('SET NAMES utf8');
    mysql_select_db("test" ,$db);
    $query = 'SELECT client FROM cmum_codes WHERE code="'. mysql_real_escape_string( $code ) .'"';

    if (!($result = @mysql_query($query))) {
        die(mysql_error());
    }

    $str = $result;
    return $str;
}

我总是得到“数组”这个词,这是怎么回事?

4

3 回答 3

1

假设您只期待一个结果(在这种情况下,您应该添加LIMIT 1到 MySQL 查询中),您必须使用mysql_fetch_array

return mysql_fetch_array($result);

这将返回该行,因此当您调用客户端函数时:

$client = client();
echo $client['field_you_want_to_echo'];

当然,您应该查看mysqli扩展而不是已弃用的 mysql。

于 2013-06-09T22:13:11.253 回答
0

mysql_query不返回您的结果集,它返回一个 MySQL 资源。然后您需要使用mysql_fetch_array。您不应该使用任何 mysql_ 函数,因为它们已被弃用。相反,使用 MySQLi 或 PDO。

于 2013-06-09T22:09:19.030 回答
0

您必须使用 mysql_fetch_array($resul) 并将其添加到变量中,例如 $array 并使用 ... foreach 获取结果
Foreach($array as $str){ echo $str; }

于 2013-06-09T22:16:56.863 回答