将数据存储在mysql中

时间:2017-08-02 05:33:22

标签: php html mysql

我想将数据存储到mysql数据库但是如果按下提交按钮则会显示php页面。

形式:

<div id="test">
<form action="demo.php"  method="post">
please enter the number(1 to 100) : <input type="text" name="value">
<input type="submit">
</form>
</div> 

demo.php

<?php
$value=$_POST['value'];
$servername = "localhost";
$username = "root";
$password = "*****";
$dbname = "clock";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$sql = "INSERT INTO input  VALUES (".$_POST['value'].")";

if ($conn->query($input) == TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

4 个答案:

答案 0 :(得分:0)

$input替换为$sql声明中的if

发件人

if ($conn->query($input) == TRUE) {

if ($conn->query($sql) == TRUE) {


注意:由于您要在$_POST['value']中存储$value,因此您无需在查询中使用$_POST['value'],而是使用$value

答案 1 :(得分:0)

有一个更正:

更改

if ($conn->query($input) == TRUE) {

要:

if ($conn->query($sql) == TRUE) {

除此之外,还有以下建议:

$ sql =“INSERT INTO input VALUES(”。$ _ POST ['value']。“)”;

此查询没问题,$_POST['value']的值是整数,但对于字符串,它将创建SQL语法错误。

请更正:

$sql = "INSERT INTO input  VALUES ('".$_POST['value']."')";

观察,封闭的半结肠。

2)您只插入一个字段值而不指定字段。这意味着您的表只有字段。通常我们没有只有一个字段的表。

请指定字段名称:

$sql = "INSERT INTO input (field_one)  VALUES (".$_POST['value'].")";

答案 2 :(得分:0)

1st:添加名称属性以提交按钮name="submit"

<input name="submit" type="submit">

第二名:使用isset <{1}}

第3名:尝试使用if(isset($_POST['submit'])){ //rest of code here }来避免prepared statement or pdo

demo.php

sql injection

答案 3 :(得分:0)

获取此类值

  $value=$_REQUEST['value'];

将查询更改为

$sql = "INSERT INTO input  VALUES ('$value')";