php と mysql で認証ファイルを作成していますが、次の行に誤りがあります。
$stmt2->bind_param('ss',$twitter_id, $name);
エラーメッセージは
... 内の非オブジェクトでメンバー関数 bind_param() を呼び出します
私の間違いはどこですか?
- 私のデータベースの $name は
VARCHAR
- 私のデータベースの $twitter_id は
VARCHAR
- $bd は私のデータベース接続です
ユーザーが既に登録されている場合は、「ユーザーは既に登録されています」というメッセージが表示され、ユーザーが登録されていない場合は、新しい ID と名前がデータベースに挿入されます。
session_start();
if (!isset($_SESSION['userdata'])) {
header("location: index.php");
} else {
$userdata = $_SESSION['userdata'];
$name = $userdata->name;
$twitter_id = $userdata->id;
$stmt = $bd->prepare("SELECT ID_TWITTER FROM USERS");
$stmt->execute();
$stmt->bind_result($checkUser);
if ($stmt->fetch()) {
if($checkUser!==$twitter_id){
$cSQL = "INSERT INTO USERS (ID_TWITTER, FULL_NAME) VALUES(?,?)";
$stmt2 = $bd->prepare($cSQL);
$stmt2->bind_param('ss',$twitter_id, $name);
$stmt2->execute();
$stmt2->close();
} else {
echo "User already exits";
}
}
$stmt->close();
}