单引号里面双引号php

问题描述:

我正在更新我使用硬编码日期从使用常量从配置文件中使用的脚本。这是工作好,直到我得到了以下一点。单引号里面双引号php

原:

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; 
} 

正如你可以在上面看到的$表名具有表前缀“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' 

我怀疑这是用单引号是旁边做双引号?

有什么建议吗? 感谢

假设TABLE_PREFIX是你在什么地方定义的常量,只是这样做:

$tableName = TABLE_PREFIX.'_twitter_following_relationships'; 
+0

这是完美的!谢谢。我不确定它应该如何处理报价等......非常感谢 – BHWD