ホームページ > バックエンド開発 > PHPチュートリアル > 単一エントリ登録モジュールで SQL ステートメントを組み合わせる際の小さな問題

単一エントリ登録モジュールで SQL ステートメントを組み合わせる際の小さな問題

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-20 12:30:24
オリジナル
856 人が閲覧しました

質問させてください。シングルエントリモードで書かれた登録クラスです。

$uname=$_POST['uname']
$pwd=md5($_POST['pwd']) ) ;
//結合された SQL
$sql="ユーザー(ユーザー名,パスワード)値($uname,$pwd)に挿入";
M()->exec($sql); 🎜 >
$sql へのデータの挿入に問題があります。$uname と $pwd の両方が値を取得しています。二重引用符で変数を直接解析できないのはどの部分ですか?これを直接挿入しても問題ありません $sql="insert into user(username,password) names('xiaozhang','34345')";
$sql $sql="insert into user( username,password) value (".$uname.",".$pwd.")"; も機能しません。どうしたのですか?どう書けばよいですか?

ディスカッションへの返信 (解決策)

私のデバッグ方法は、最初にデータベースに移動して挿入を書き込むことです実行が成功したら、php 側の式に従ってそれをつなぎ合わせます。

$sql="insert into user(username,password) value('$uname) ','$pwd')";

文字列は引用符で囲む必要があります。そうしないと誤解されます。


$sql="insert into user(username,password) values(‘".$uname."’,‘".$pwd."’)"; 出错的时候可以把sql输出看看是什么
ログイン後にコピー

$sql="挿入user(username,password) value('$uname','$pwd')" ;

文字列は引用符で囲む必要があります。そうしないと誤解されます


$uname は使用できません変数、なぜ一重引用符で囲まれているのですか? PHP では一重引用符が変数を解析しません。

$sql="user(username,password) 値に挿入します。 ('$uname','$pwd')"; 文字列は必須です 引用符で囲まれていると誤解されます

$uname は変数ではないのですか? なぜ一重引用符で囲まれていますか? PHP では一重引用符は変数を解析しませんか?

引用符なしで uname を varchar として定義すると、SQL はエラーを報告します。



$sql="ユーザー(ユーザー名,パスワード)の値('$uname','$pwd')"に挿入します。文字列は引用符で囲む必要があります。そうしないと誤解されます。


$uname は変数ではないのですか? なぜ単一引用符で囲まれているのですか? PHP では単一引用符が解析されません。変数?



引用符なしで uname を varchar として定義すると、SQL はエラーを報告します。



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