1
<?php
include("../scripts/createconnect.php");

if(isset($_POST['submitted'])) {

    $username = mysql_real_escape_string ($_POST['username']);
    $password = mysql_real_escape_string ($_POST['password']);


    $sqlinsert = "INSERT INTO Testing (User_Id, username, password)
        VALUES (NULL,'$username', '$password');"; 

    if (!mysqli_query($dbcon, $sqlinsert)) {
        die('error inserting into database');
        } // end of nested if statement

        $newrecord ="Congratulations!";

}  
?>

データベースから作業フォームを入力しました。MySql インジェクション防止について学んでいます。

最初に mysql_real_escape_string メソッドを使用しようとしていますが、フォーマット エラーが発生しているようです。

データベースが接続されていることを確認しました。フォーム入力に mysql_real_escape_string を追加すると、エラーが発生します。

私のリモートファイル「createconnect.php」は、mysqli_connect を介して正常に接続します。

チュートリアルで説明されているように ysql_real_escape_string を追加しましたが、MYSQL データベースにデータを入力できなくなりました。誰かが私に欠けているものを教えてもらえますか?

4

2 に答える 2

1

この方法でコードを書くことはできません。phpでクエリを実行するためにmysqliを使用する場合、mysql関数はmysqliでは使用できません。このリンクを確認してください:http ://scriptforyou.com/mysql-easily-insert-and-update-records/ 。これは、mysqliを使用するための最良のチュートリアルです。

また、mysql_real_escape_stringの使用は避けてください。ハッピーコーディング!!

于 2012-10-17T10:28:15.227 に答える
0

と呼ばれるmysqliの同様の関数がありますmysqli_real_escape_string

試す

 $link = new mysqli("localhost", "my_user", "my_password", "dbaname");
 $username = mysqli_real_escape_string ($link,$_POST['username']);
 $password = mysqli_real_escape_string ($link,$_POST['password']);
于 2012-10-17T10:35:37.650 に答える