双引号内的单引号

时间:2014-01-06 01:55:00

标签: php mysql

我正在使用硬编码日期更新我正在使用的脚本,以使用配置文件中的常量。它工作正常,直到我到达以下位置。

原:

function getDestroyedRelationships($relation){
$owner_user_id = $_REQUEST['owner_user_id'];
$tableName = "";
if($relation=="friends"){
    $tableName = "yst_twitter_following_relationships";
}else if($relation=="followers"){
    $tableName = "yst_twitter_follower_relationships";
}else{
    return false;
}
$twitters = NULL;
$stmt = ulPdoDb::Prepare('log', 'SELECT your_id FROM '.$tableName.' WHERE my_id=? AND updated_on<(SELECT MAX(updated_on) FROM '.$tableName.' WHERE my_id=?)');
if (!ulPdoDb::BindExec(
    $stmt,
    array(      // output
        &$twitters, 'lob'
    ),
    array(      // input
        &$owner_user_id, 'int',
        &$owner_user_id, 'int'
    )
))
{
    ul_db_fail();
    return false;
}

if ($twitters = $stmt->fetchAll(PDO::FETCH_COLUMN))
{
    return $twitters;
}
else
{
    //echo "Nothing";
}
return $twitters;
}

正如您在上面所看到的,$ tablename定义了表前缀'yst'。我想把'yst'改为:

'.TABLE_PREFIX'

但是,在执行此操作时,我收到以下错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''.TABLE_PREFIX.'_twitter_following_relationships (my_id, your_id, created_on, up'

我怀疑这与双引号旁边的单引号有关吗?

有什么建议吗? 感谢

1 个答案:

答案 0 :(得分:1)

假设TABLE_PREFIX是您在某处定义的常量,请执行以下操作:

    $tableName = TABLE_PREFIX.'_twitter_following_relationships';