MySql:在子查询中引用父查询fetched数组

时间:2015-10-03 14:34:13

标签: php mysql json

我试图在同一语句的子查询中引用父查询fetched数组。我有一个新闻表,我希望通过其标题获得一个特定的新闻和另外10个新闻,这些新闻的ID低于特定新闻。我想在一个Sql语句中,我是php来获取数组。

# Import the necessary methods from tweepy library
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream

# Other libs
import json

# Variables that contains the user credentials to access Twitter API
access_token = "<my_access_token>"
access_token_secret = "<my_secret_token>"
consumer_key = "<my_consumer_key>"
consumer_secret = "<my_consumer_secret>"


# This is a basic listener that just prints received tweets to stdout.
class StdOutListener(StreamListener):

    def on_data(self, data):
        #try:
        #    json_data = json.loads(data)
        #    print json_data['created_at'] + " " + data['text']
        #except:
        print "Data " + str(data)
        return True

    def on_error(self, status):
        print "Error " + str(status)
        if status == 420:
            print("420 error.")
            return False


if __name__ == '__main__':

    # This handles Twitter authetification and the connection to Twitter Streaming API
    l = StdOutListener()
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)
    stream = Stream(auth, l)

    # Start streaming with right parameters
    #tallahassee=[30,-85,31,-84]
    #stream.filter(locations=tallahassee)           <---- previously used 
    stream.filter(follow="<my_user_id>")

1 个答案:

答案 0 :(得分:1)

您的原始查询是 SELECT * FROM news WHERE title = :title

如果您真的想使用子查询,请使用

中的内容
SELECT 
  * 
FROM news 
WHERE id < 
  (SELECT 
    id 
  FROM news 
  WHERE title = :title
  LIMIT 1) 
ORDER BY id DESC 
LIMIT 10

最后一点:请在查询中使用参数,因为您对SQL注入是开放的(考虑$_GET['q']何时值为; DROP TABLE news;--)。