ホームページ > バックエンド開発 > PHPチュートリアル > PHPで受信ファイルの16行目と17行目が間違っているのか教えてください。同じユーザー名を登録するとエラーが報告されます。

PHPで受信ファイルの16行目と17行目が間違っているのか教えてください。同じユーザー名を登録するとエラーが報告されます。

WBOY
リリース: 2016-06-20 12:26:09
オリジナル
855 人が閲覧しました

register.php



    
    注册
    

    <script> <br>function check(){ <br>    var psw1=document.getElementById("psw1"); <br>    var psw2=document.getElementById("psw2"); <br>    if(psw1.value!=psw2.value) <br>    psw2.setCustomValidity("两次密码不一致"); <br>    return false; <br>} <br>        </script>



登录|注册

欢迎注册



    
用户名  :


        密  码  :


        确认密码:


        邮  箱  : placeholder="请输入正确的邮箱格式" name="email">
        


      
  验证码  :

    


    
           require('yzm.php');
?>
        

      


    
我已阅读并同意该协议
        《book》条款



    
 





receive.php

if(isset($_POST['submit'])) {
session_start();
$checkstr = $_SESSION['yzm']; // $_SESSION 変数を使用して 03.php ページの検証コードを取得します
$str = $_POST[' check'] ; );
location.href='register.php';";
else {
$username = $_POST["username"];
$password = $_POST[ "psw1"];
$email = $_POST["email"];
$dsn="mysql:host=localhost;dbname=book"; $dsn,' root','123456');
$db->query('set names utf8')
16 行目: $chkusername = mysql_query("select username from register where username=". $username." ");
17 行: $numrow = mysql_num_rows($chkusername);
if( $numrow != 0) {
print("
'text/javascript'> ;
alert('ユーザーはすでに登録されています。別のユーザー名を選択してください');
location.href='register.php';

");
}
else {
$sql = "register(username,password,email) VALUES (?,?,?) に挿入";
$stmt=$db->prepare($sql); 🎜> $stmt->bindParam(1,$username);
$stmt->bindParam(2,$password);
$stmt->bindParam(3,$email); $stmt->execute(); '登録成功');
location.href='login.php'

");
?>













ディスカッションに返信 ( solution)

これはデータベースに接続する方法です

$dsn="mysql:host=localhost;dbname=book";

$db=new PDO($dsn ,'root', '123456');

$db->query('set names utf8');

操作は次のようになります

16 行目: $chkusername = mysql_query("select username from register where username= ".$username."");

17 行目: $numrow = mysql_num_rows($chkusername); これは適切だと思いますか? ユーザー名が数字でない場合は、SQL ステートメントも変更する必要があります。

リンク pdo ネイティブ
を使用します。

17 行目を変更するにはどうすればよいですか? 誰か、16 行目を教えていただけますか?

ついに変更されました。

pdo を使用して接続し、ネイティブ メソッドを使用して SQL を実行すると、問題が発生します

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