Php 使用bind_参数将多个字符串插入mysql

Php 使用bind_参数将多个字符串插入mysql,php,mysql,twitter,Php,Mysql,Twitter,我正在从twitterapi中检索tweets,我试图将其保存在数据库中,但是我不断收到一个错误,我似乎无法修复。我已经检查了参数的数量是否正确,一切都应该正常,所以我不明白为什么会出现以下错误: 致命错误:对非对象调用成员函数bind_param() 推特数据库: function retrievePlayerTweets(){ global $con; $query = $con->prepare("Select players.fullname, players.tw

我正在从twitterapi中检索tweets,我试图将其保存在数据库中,但是我不断收到一个错误,我似乎无法修复。我已经检查了参数的数量是否正确,一切都应该正常,所以我不明白为什么会出现以下错误:

致命错误:对非对象调用成员函数bind_param()

推特数据库:

function retrievePlayerTweets(){
    global $con;
    $query = $con->prepare("Select players.fullname, players.twitter_user, team.id as teamId FROM players, team WHERE players.teamId = team.id");
    $query->execute();
    $query->bind_result($fullname, $twitter_user, $teamId);


    while ($query->fetch()) {

        foreach(retrieveUserTweets($twitter_user) as $twitterData) {
            $id = $twitterData['id_str'];
            $text = $twitterData['text'];
            $name = $twitterData['user']['name'];
            $dateString = $twitterData['created_at'];
            $favoriteCount = $twitterData['favorite_count'];
            $date = date('Y-m-d H:i:s', strtotime($dateString));



              $insert_tweet = $con->prepare("INSERT IGNORE INTO tweets (`fullname`, `username`, `text`, `created`, `teamId`, `twitterId`, `favoriteCount`) VALUES (?, ?, ?, ?, ?, ?, ?)");
              $insert_tweet->bind_param("ssssisi", $name, $twitter_user, $text, $date, $teamId, $id, $favoriteCount);
                $insert_tweet->execute() or die(mysqli_error($con));







        }
    }





}


问题在于
$con
变量未连接到数据库,因此无法调用其中的方法

另外,添加
die()
函数在调用PDO或mysqli中的execute函数后打印错误消息,以查看查询使用中的错误也是一个很好的做法:

如果使用PDO:
$insert\u tweet->execute()或die(print\r($con->errorInfo())

如果使用mysqli:


$insert_tweet->execute()或die(mysqli_error($con))

因此您的prepare语句失败。您需要添加错误处理以查看出现了什么问题。我认为您应该首先将“ssssi”放入变量中。这会有什么帮助?不,我已经有了这个
$con=mysqli\u connect('host'、'user'、'pass'、'db')
是的,但请检查它是否成功连接,如果没有在
mysqli_connect
函数中,请将实际值放入这些参数中,因为我在另一个查询中的函数开头使用了
$con
,我在这一行中不断收到相同的错误
$insert_tweet->bind_param(“SSSSSI”,$name,$twitter\u user,$text,$date,$teamId,$id,$favoriteCount)
这是一个简单的错误,您的prepare查询失败,因为$con不正确,因此$insert\u tweet未分配给具有methd
bind\u param()的对象。