-2

私はPHPが初めてで、非常に基本的な登録フォームを作成しようとしていますが、送信をクリックしてもデータベースにデータが作成されません。

<form action"signup.php" method="post">
  username:<input type="text" name="n"><br />
  password:<input type="password" name="p"><br />
  id      :<input type="text" name="id"><br />
  <input type="submit">
</form>   


<?php
$conn = mysql_connect("localhost", "root", "");
$db   = mysql_select_db("myth", $conn);
?>

<?php
$user = $_POST['n'];
$pass = $_POST['p'];
$id   = $_POST['id'];
$sql  = "INSERT into phplogin values(" . $id . ",'" . $user . "','" . $pass . "')";
$query = mysql_query();

if(!$query)
    echo "failed ".mysql_error();
else           
    echo "successful";
?>
4

4 に答える 4

1

まず第一に、mysql_*コマンドは推奨されていないため、使用する必要はありません。mysqli_*またはPDO代わりに使用します。

次に、メソッドで文字列を渡す必要があります。あなたの場合:$result = mysql_query($sql);

$result行を取得するためにフェッチする必要があるリソースを返すことを忘れないでください

while ($row=mysql_fetch_row($result)) {
// here, you have your rows
}
于 2013-08-03T08:16:45.880 に答える
0

スクリプトは次のようになります

<?php
    // create connection
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    // check connection
    if ($mysqli->connect_errno) {
         printf("Connect failed: %s\n", $mysqli->connect_error);
         exit();
    }

    $user = $_POST['n'];
    $pass = $_POST['p'];
    $id = $_POST['id'];      

    $sql = "INSERT into phplogin values('$id','$user','$pass')";
    if($mysqli->query($query)) {
         printf("New Record has id %d.\n", $mysqli->insert_id);
    } else {
         printf("Failed ".$mysqli->error);
    }

    // close connection
    mysqli_close($link);

?>

はい、mysql_* は非推奨なので使用しないでください。代わりに mysqli_ または PDO を使用してください。

于 2013-08-03T08:19:15.033 に答える
0

mysqli_querymysql_query よりも優れているので使ってみてください...

<?php
$conn = mysqli_connect("localhost","root","","myth")or die("connection to database problem");

$user = $_POST['n'];
$pass = $_POST['p'];
$id = $_POST['id'];
$sql = "INSERT INTO phplogin VALUES (".$id.",'".$user."','".$pass."')";
$query = mysqli_query($conn, $sql)or die("query error");

if(false===$query)
    echo "<br/>".mysqli_error($conn)."<br/><br/><br/>";
    else
    echo "<br/>done ";
?>

connection to database problem接続に問題がある場合は、

于 2013-08-03T08:22:10.820 に答える