2017-08-01 7 views
-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> 
+0

チェックするために、この

$result = $db->prepare("INSERT INTO links VALUES('',?,?)"); 

を変更することはできます/en/mysqli.error.php)、挿入クエリが何らかの方法で失敗したかどうかを知らせます。最初の値が自動インクリメントIDの場合は、空の文字列 ''''の代わりに 'NULL'を渡してみてください。 – aynber

+0

私はこのコードで何が間違っているのか分からないようですが、すべてうまく見えますが動作しません。これまでのところmysqlエラーログにエラーはありません –

+0

'$ db-> prepare()'と '$ result-> execute()'の後に 'die($ db-> error)'を追加してエラーを見てください。 – Barmar

答えて

1

あなたは[mysqli_errors](http://php.net/manualため、この

$result = $db->prepare("INSERT INTO yourtable (col, col2) VALUES(?,?)"); 
関連する問題