こんにちは、私はPHPとの最初のDB接続を開発していました。しかし何らかの理由でデータがテーブルに挿入されていません。私は名字と姓をとったページを持っています。私はuser infoというテーブルを作成しました。ここでは、すべてのコードは例外です(エラーと結果のページはすべて問題ありません)。PHP-PDOクエリの問題
のindex.php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Test</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="wrapper">
<div id="main">
<div id="inbox">
<form action="function.php" method="post">
<span id="first">First Name: </span>
<input type="text" name="fname" id="textField">
<span id="second">Last name: </span>
<input type="text" name="lname" id="textField"><br><br>
<input type="submit" value="Submit" id="submitBtn">
</form>
</div>
</div>
</div>
</body>
</html>
database.phpで
<?php
$dsn = 'mysql:host=localhost;dbname=practice';
$username = 'user';
$password = 'user123';
try {
$db = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
$error_message = $e->getMessage();
include('database_error.php');
exit();
}
?>
function.php
<?php
require_once('database.php');
$firstName = filter_input(INPUT_POST, 'fname');
$lastName = filter_input(INPUT_POST, 'lname');
$firstName_q = $db->quote($firstName);
$lastName_q = $db->quote($lastName);
$query = 'INSERT INTO PRACTICE.USERINFO
(USERID, FIRSTNAME, LASTNAME)
VALUES(DEFAULT, $firstName_q, $lastName_q)';
$insert_count = $db->exec($query);
include('result.php');
?>
私はミスをやっているところを確認していません。それは正常に接続するようです。結果ページを表示します(これは単に成功を示すテキストです)。しかし、テーブルは空です。私はこれに似たポストを見ましたが、現時点では長すぎたり複雑です。助けが高く評価されるだろう。前もって感謝します!
'incluse'?あなたは 'include'を意味しましたか?また、同じIDを持つ複数のHTML要素を持つべきではありません – Phil
[補間に間違った引用符を使用しています](http://php.net/manual/en/language.types.string.php#language.types .string.syntax)を '$ query'変数に追加してください。まともなエラー報告を有効にしてPHPを実行していないことは明らかです。 'php.ini'に' display_errors = On'と 'error_reporting = E_ALL'があることを確認してください。実際には、[バインドされたパラメータ付きの準備文](http://php.net/manual/en/pdo.prepared-statements)を使用する必要があります。php) – Phil