php - 如何声明变量

标签 php mysql sql function

我有 undefined variable 的问题。问题是,我找到了一个制作 Twitter 类型的微博的教程,遇到了一些问题,我决定,但这需要我的耐心。

错误消息:

注意: undefined variable :caminho\do\arquivo\functions.php 第 58 行中的额外内容

功能:

function show_users($user_id=0){

    if ($user_id > 0){
        $follow = array();
        $fsql = "SELECT user_id FROM following WHERE follower_id='$user_id'";
        $fresult = mysql_query($fsql);

        while($f = mysql_fetch_object($fresult)){
            //array_push($follow, $f->user_id);
            $follow[] = $f->user_id;
        }
        if (count($follow)){
            $id_string = implode(',', $follow);
            $extra =  " AND id IN ($id_string)";
        }else{
            return array();
        }
    }
    $users = array();
    $sql = "SELECT id, username FROM users WHERE status='active' $extra ORDER BY username";
    $result = mysql_query($sql);

    while ($data = mysql_fetch_object($result)){
        $users[$data->id] = $data->username;
    }
    return $users;
}

有问题的行是:

$sql = "SELECT id, username FROM users WHERE status='active' $extra ORDER BY username";

有什么建议吗?

最佳答案

有两种方法:

1. function show_users($user_id=0){
   $extra='';

2. function show_users($user_id=0,$extra=''){

实际上,只有当 $user_id > 0 时,您才声明 $extra,但在当前情况下,您的 $user_id 必须等于或小于 0,因此您的查询无法找到 $extra。

我希望你能有一个想法。

关于php - 如何声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22133129/

相关文章:

sql - 推荐的 SQL 实践和书籍

php - 如何在 __construct() 中创建 PDO 连接?

PHP 找到两个多维数组中的第一个差异

php - Ipn Paypal curl_setopt

mysql - 将 CSV 文件中的日期存储到 SQL 中的最佳方法

mysql - 为不存在的行返回默认值

php - 使用 guzzle 在 vagrant 上 curl 错误 7

php - 人气,如何让新点击率高于旧点击率?

mysql - 配方数据库,按成分搜索

c# - 在 .Net 中测试复杂的 T-SQL 脚本?