0

したがって、POST から値を取得しているこの問題が発生していますが、挿入クエリを実行するとデータベースに何も表示されませんが、エラーは発生せず、エコーは機能します。ここに私のファイルがあります:

config.php:

<?php

$host = "000webhost.com";
$user = "a9257*****";
$pass = "*****";
$db = "a9257*****";

$connect = mysql_connect($host, $user, $pass);
mysql_select_db($db, $connect);

?>

ここに私のsubmit.phpがあります:

<?php

include "config.php";

$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$pass = md5($_POST['pass']);

$insert = 'INSERT INTO tblUsers (userFirstName, userLastName, userEmail, userPassword) VALUES("'.$fname.'","'.$lname.'""'.$email.'","'.$pass.'")';

mysql_query($insert);

echo $fname;
echo $lname;
echo $email;
echo $pass;

?>

どんな助けも大いに義務付けられます。

4

2 に答える 2

2

MySQL にそれらを提供するように要求していないため、エラーは発生しません。

この行を変更します。

mysql_query($insert);

このバージョンに:

mysql_query($insert, $connect) or die("MySQL error:". mysql_error($connect));

エラーをお知らせいただくか、ご自身で直接修正してください。

そしてエスケープを追加してください!すべての値は、SQL インジェクション攻撃を許可します!

また、パスワードのハッシュに MD5 を使用しないでください。PHP 5.5 以降では、使いやすいパスワード ハッシュ関数があり、これも PHP 5.3.6 にバックポートされています。この単純なライブラリを含めてください: https://github.com/ircmaxell/password_compat

于 2013-07-27T21:58:59.640 に答える