0
別のファイルで関数を呼び出すときにmysqlコマンドを実行する際に問題があります。同じファイルにコードがあるとうまくいきます。PHP関数へのmysqli接続の引き継ぎ - 同期外
認証::私は関数を呼び出す場合は今
{
$conn = new mysqli($dbserver, "dbuser", "pass", $dbname);
$sql = 'SELECT userId, salt, pwd, isAdmin FROM users where username = ?';
$stmt = $conn->stmt_init();
$stmt->prepare($sql);
$stmt->bind_param('s', $username);
$stmt->bind_result($userId, $salt, $storedPwd, $isAdmin);
$stmt->execute();
$stmt->fetch();
}
、直後フェッチ、それはbind_paramラインに失敗したコードは次のようになります。私はこのようにそれを呼び出す:
updateUserActivity ($conn, $tpcLang, 'LI', $userId);
この関数の始まりです:無効なオブジェクトまたはリソースmysqli_stmt、およびDBエラーがある:
function updateUserActivity ($conn, $lang, $activityType, $userId)
{
// check that activity is valid
$sql = 'SELECT activityType
FROM activityType
WHERE activityType = ?';
$stmt = $conn->stmt_init();
$stmt->prepare($sql);
$stmt->bind_param('s', $activityType);
$stmt->bind_result($activityTypeInDB);
$stmt->execute();
$stmt->fetch();
if ($activityType == $activityTypeInDB){
$success=1;
} else {
$success=0;
$msg = $lang->get('UPDATE_USER_INVALID_ACTIVITY_ERROR_MSG') . " " . $activityType . " (" . $stmt->errno . "): " . $stmt->error;
error_log ($msg);
}
// continue on to add a row in the userActivity table
}
私はbind_paramに乗るエラーがあるアウトコマンド同期の;今すぐこのコマンドを実行することはできません。
ご意見をいただければ幸いです。
倍の量私はすでに設定されたリソースを用いて捕まるだろう私の初期の符号化時代に! – Lock
ありがとうございます。私はそこにstmt-> close()を入れています。私は今、すべてのstmtsが閉鎖されていることを確認するプロセスに入っています。 – jpporterVA