[解決済み] mysqliからmysql_result()と同じ結果を得るには?[重複]。
2022-02-04 19:31:19
質問
と同じ結果を得ようとしています。
mysql_result()
を
mysqli
.
これを使いたい。
function user_id_from_username() {
$username = sanitize($username);
return mysql_result(mysql_query("SELECT id FROM users WHERE username = '$username'"), 0, 'id');
}
を
mysqli
.
mysql_result()
関数がある
string mysql_result ( resource $result , int $row [, mixed $field = 0 ] )
というパラメータがあります。
と同じものを得るにはどうしたらよいでしょうか。
mysqli
もし、mysqliにこのようなパラメータをすべて持っている関数があれば
mysql_result()
関数を使用する必要があります。
私はmysqlの拡張が減価償却されることを知っている、それが私がmysqliを使いたい理由です。
DB接続を渡す方法は知っていますし、それは問題ではありません。私はまた、これを試してみました。そして、それは動作します。
function user_active($username) {
global $con;
$username = sanitize($username);
$result = mysqli_query($con,"SELECT `id` FROM `users` WHERE `username` = '$username' AND `active` = 1");
return (mysqli_num_rows($result) == 1) ? true : false;
}
解決方法は?
対応するものがない
mysqli_result()
関数がありますが、これはあなたのmysqlベースのコードと同等であるべきです。
function user_id_from_username() {
$username = sanitize($username);
$result = mysqli_query("SELECT id FROM users WHERE username = '$username'");
$row = mysqli_fetch_row($result);
return $row[0];
}
でも、関数呼び出しの返り値は本当にチェックした方がいいので、こんな感じの方がいいと思います。
function user_id_from_username() {
$username = sanitize($username);
$id = false; // Return false on database error, or user not found.
if ($result = mysqli_query("SELECT id FROM users WHERE username = '$username'")) {
if ($row = mysqli_fetch_row($result)) {
$id = $row[0];
}
mysqli_free_result($result); // Always free your resources.
}
return $id;
}
関連
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】XAMPPエラー: www.example.com:443:0 サーバー証明書に、サーバー名と一致するIDが含まれていません。
-
[解決済み】「Fatal error: Class 'MySQLi' not found "を解決するには?
-
[解決済み】PHPからPythonスクリプトを実行する
-
[解決済み】未定義の関数mysql_query()をLoginで呼び出す【重複
-
[解決済み] $_SERVER['DOCUMENT_ROOT'] と $_SERVER['HTTP_HOST'] の違いについて
-
[解決済み] YouTube APIからYouTubeビデオのサムネイルを取得する方法を教えてください。
-
[解決済み] PHPのエラーを表示させるにはどうしたらいいですか?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】PHP - 構文エラー、予期しないT_CONSTANT_ECAPSED_STRING [閉店].
-
[解決済み] SQLSTATE[HY093]: 無効なパラメータ番号: バインドされた変数の数が102行目のトークンの数と一致しない [終了]
-
[解決済み】Apache + PHPで「ヘッダの前にスクリプトの出力が終了する」件
-
[解決済み] [Solved] Fatal error: メンバ関数 query() の null への呼び出し。
-
[解決済み] 入力ファイルが指定されていない
-
[解決済み] PHP - ストリームを開くのに失敗しました : そのようなファイルまたはディレクトリがありません。
-
thinkphp5 timestamp 非整形の数値に遭遇した。
-
phpのAllowed memory size of 134217728 bytes枯渇問題の解決法
-
[解決済み】mysqli::query(): mysqli をフェッチできない
-
[解決済み】警告: file_get_contents(): https:// ラッパーがサーバー構成ですべて無効になっています。