0

PHPコードを使用してフォームデータをデータベースに取得しようとしましたが、機能せず、エラーの可能性についてコードを1000回調べましたが、初心者としてエラーを見つけることができませんでした. フォームは実際に送信されますが、データベースには何も届きません。

迅速なヘルプをいただければ幸いです。コードは次のとおりです。

$conn = @mysqli_connect('localhost', 'root', 'aboki'); 
if (mysqli_connect_error()) {
die('Connect Error: ' . mysqli_connect_error());
}

$qry = "INSERT INTO users (email, firstName, surname, userName, password, birthday) values ($email, $firstName, $surname, $userName, $password, $userDOB)";
$result = mysqli_query($conn, $qry); 
4

4 に答える 4

1

これを試して

$qry = "INSERT INTO users (email, firstName, surname, userName, password, birthday) 
values ('$email', '$firstName', '$surname', '$userName', '$password', '$userDOB')";
于 2013-10-22T14:01:25.750 に答える
1

まず、値を引用していないため、挿入していません...

これで修正されます (ただし、この方法を使用しないことを強くお勧めします!) :

$qry = "INSERT INTO users (email, firstName, surname, userName, password, birthday) values ('$email', '$firstName', '$surname', '$userName', '$password', '$userDOB')";

正しい方法

mysqli次のように、準備されたステートメントでこれらのパラメーターを提供し、バインドする事前定義された関数を最大限に活用することをお勧めします。

mysqli_prepare($conn,"INSERT INTO users (email, firstName, surname, userName, password, birthday) values (?, ?, ?, ?, ?, ?)");

mysqli_stmt_bind_param($conn, 'TYPES_HERE',$email, $firstName, $surname, $userName, $password, $birthday)
于 2013-10-22T14:02:27.367 に答える
0

data Insert の解決策があります。試してみてください。

$conn= mysqli_connect("localhost", "root", "my_password", "world");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "INSERT INTO users 
(email, firstName, surname, userName, password, birthday) VALUES
($email, $firstName, $surname, $userName, $password, $userDOB)";
 mysqli_query($conn, $query);
 printf ("New Record has id %d.\n", mysqli_insert_id($link));
 mysqli_close($link);

Query で mysqli を使用しているため、構文がまったく異なります。

さらに質問してください。

ありがとう

于 2013-10-27T10:30:21.457 に答える
-6

例:

$stmt = mysqli_prepare($conn, "SELECT District FROM City WHERE Name=?")) {
$stmt->bind_param("s", $city);
$stmt->execute();
于 2013-10-22T14:00:35.500 に答える