我正在使用硬编码日期更新我正在使用的脚本,以使用配置文件中的常量。它工作正常,直到我到达以下位置。
原:
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'
我怀疑这与双引号旁边的单引号有关吗?
有什么建议吗? 感谢
答案 0 :(得分:1)
假设TABLE_PREFIX是您在某处定义的常量,请执行以下操作:
$tableName = TABLE_PREFIX.'_twitter_following_relationships';