繁体   English   中英

将php变量插入sql语句

[英]Inserting php variables into sql statements

我有更好的信息,因此改变了问题。

以下查询

function gamesWaiting($join, $type, $status, $u)
{
    global $database;
    $q = "SELECT g.home_user, g.away_user, g.home_score, g.home_team, g.away_score, g.away_team, g.id, f.name, f.game, 
         uh.username AS home_username, ua.username AS away_username
          FROM ".TBL_FOOT_GAMES." g
          INNER JOIN ".TBL_USERS." uh ON uh.id = g.home_user
          INNER JOIN ".TBL_USERS." ua ON ua.id = g.away_user
          INNER JOIN ".$join." f ON f.id = g.leagueid
          WHERE g.type = '$type' && g.{$u}_user = '$_SESSION[id]' && g.status = '$status'";
    return mysql_query($q, $database->myConnection());
}

唯一不起作用的部分是

".$join."

有什么想法可以让我工作吗?

谢谢

该查询搜索表名TBL_FOOT_FRIENDLY,而不是常量引用的表名。 (根据您的代码TBL_FOOT_FRIENDLY,可以在数据库中将其定义为foot_friendly)

在变量中分配常量值,然后将此变量传递给函数

$tbl=TBL_FOOT_FRIENDLY;
$results = $footdb->gamesWaiting($tbl, "1", "2", "away");

或从常量周围删除双引号并传递

$results = $footdb->gamesWaiting(TBL_FOOT_FRIENDLY, "1", "2", "away");

并尝试。

谢谢。

像这样写:

INNER JOIN '" . $join . "' f ON f.id = g.leagueid

请注意,单引号将双引号引起来. $join . . $join .

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM