-1
ユーザーの入力をデータベースに追加するシンプルなフォームがありますが、データベーステーブルを参照するとデータが表示されません。それは常に空です。私は何が起こったのかわからない、コードは昨日正常に動作していたが、私は自分のPCをフォーマットし、再びワンプサーバーをインストールした後に動作を停止した。PHPプリペアドステートメントでテーブルをポピュレートする
<?php
$db = new mysqli("localhost","testuser","password","testdb");
$title = "My users";
if (isset($_POST['submit'])) {
$user = $_POST['username'];
$result = $db->prepare("INSERT INTO links VALUES('',?,?)");
$result->bind_param("ss",$user,$title);
$result->execute();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Get Users Name</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
</head>
<body>
<div class="container" align="center" style="margin-top:20%;">
<h1>Who are You?</h1>
<form action="proc.php" method="POST" >
<input type="text" name="username" value="" placeholder="Your username here">
<input type="submit" name="submit" value="Enter">
</form>
</div>
</body>
</html>
チェックするために、この
を変更することはできます/en/mysqli.error.php)、挿入クエリが何らかの方法で失敗したかどうかを知らせます。最初の値が自動インクリメントIDの場合は、空の文字列 ''''の代わりに 'NULL'を渡してみてください。 – aynber
私はこのコードで何が間違っているのか分からないようですが、すべてうまく見えますが動作しません。これまでのところmysqlエラーログにエラーはありません –
'$ db-> prepare()'と '$ result-> execute()'の後に 'die($ db-> error)'を追加してエラーを見てください。 – Barmar