あなたのコードという名前のpublic_htmlフォルダ外のファイルを作成します
require_once("conn.php");
$user_name = $conn->real_escape_string($_POST["username"]);
$code = $conn->real_escape_string($_POST["code"]);
$name = $conn->real_escape_string($_POST["groupname"]);
$sql_update = $conn->prepare("update `users` set `group` = ? where `username` = ?");
$sql_update->bind_param("ss",$name,$user_name);
$sql_update->execute();
$sql_update->close();
$conn->close();
そしてconn.phpファイルはこの
$config = parse_ini_file('config.ini'); // Connection infos.
$conn = mysqli_connect('localhost',$config['username'],$config['password'],$config['db_name']);
if($conn === false) {
die("Something was wrong ! Please try again later."); // Error if connection not ok.
}
$conn->set_charset("utf8");
ようにする必要があり、準備された文で、このコードで
ルックを確保されていません接続データを書き込むconfig.ini
[db_connection]
username = username
password = password
db_name = dbname
この関数は、パラメータをSQLクエリにバインドし、パラメータが何であるかをデータベースに通知します。 "sss"引数は、パラメータが持つデータの種類を示します。 s文字は、パラメータが文字列であることをmysqlに伝えます。
引数は4種類のものであってもよい:
i - integer
d - double
s - string
b - BLOB
はこちらをご覧くださいhere
何クラスのインスタンスconn' '$のですか?そして、あなたはこのコードがSQLインジェクションに対して脆弱であることを知っていますか? –
通常、少なくともPDOの ' - > query'は' false'か結果セットを返しますが、決して 'true'を返しません。だから、ここでは単純なエラーかもしれません...(私はmysqliも同じことを信じています)。また、エラーの場合には 'echo $ conn-> error'(mysqli)または' print_r($ conn-> errorInfo()) '(PDO)を(デバッグの目的とdevelのためだけに)行うことができます。 ** – Jakumi
$ connは、データベース名、ユーザー名、パスワード、およびサーバー名を定義するpublic_htmlフォルダ内の別のファイルです。これは私の初めてのPHPを使用していると私は注射に固定することに精通していないよ。非常に基本的なアプリだと私が気にする必要があるかどうかは分かりません。おそらく公開する予定はありません。 –