ホームページ > バックエンド開発 > PHPチュートリアル > thinkphp がデータベース データの変更に失敗しました

thinkphp がデータベース データの変更に失敗しました

WBOY
リリース: 2016-07-06 13:53:41
オリジナル
2405 人が閲覧しました

リーリー

私の変更関数コードは上記の通りで、$room_info オブジェクトの値を出力し、実際に変更されていますが、実行後にデータベースのデータが変更されないのはなぜですか?それが理由ですか?

返信内容:

リーリー

私の変更関数コードは上記の通りで、$room_info オブジェクトの値を出力し、実際に変更されていますが、実行後にデータベースのデータが変更されないのはなぜですか?それが理由ですか?

// $room->where("room_id=$room_id")->save($roominfo);

前のコメント記号を削除する必要がありますか? 。 。

さらに、「room_id=$room_id」により、作成者は Baidu から SQL を注入できます。

M()->getLastsql()

どうやらthinkphpのようです、いくつかコメントさせてください。

  1. $_POST或者用$_Get,以防止SQL注入,应该用I関数を直接使用しないでください。

  2. SQL のデバッグには $obj->getLastsql() メソッドを使用する必要があります。

  3. 出力オブジェクトは独自の dump 関数を適用します。

コードに問題がないことが確実な場合は、データベースに問題がある可能性もあります。たとえば、アカウントに書き込み権限がない、データベースを読み取っているため更新操作を実行できないなどです。確認してみましょう。まず問題は何ですか

  1. 可能であれば print M()->getLastsql()

  2. room_id がテーブルの主キーの場合は、次のコードを使用できます

    リーリー

$room->where("room_id=".$room_id)->save($roominfo);

視線を離してみよう

次の文を $room_id の下に追加します: $roominfo = $room->getByID($room_id);

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート