Php/MySQL:无法仅插入一行

Php/MySQL:无法仅插入一行,php,mysql,sql,database,Php,Mysql,Sql,Database,我正在尝试创建一个页面,允许用户输入他将要执行的特定任务的步骤。然而,每当我提交一个步骤时,就会在mysql数据库中存储多个类似的记录。因此,如果我在mysql数据库中键入“Do this”,两条记录将使用相同的数据存储 这是我的密码 <?php $conn = new mysqli("localhost", "root","","KFC"); if(isset($_POST['Submit_btn'])) { session_start(); $var_value = $_

我正在尝试创建一个页面,允许用户输入他将要执行的特定任务的步骤。然而,每当我提交一个步骤时,就会在mysql数据库中存储多个类似的记录。因此,如果我在mysql数据库中键入“Do this”,两条记录将使用相同的数据存储 这是我的密码

<?php

$conn = new mysqli("localhost", "root","","KFC");
if(isset($_POST['Submit_btn']))
{
  session_start();
    $var_value = $_SESSION['R_ID'];

    $Name= mysqli_real_escape_string($conn, $_POST['Step']);

    $sql= "INSERT INTO `step`(`Step`, `R_ID`) VALUES ('$Name','$var_value')";

    mysqli_query($conn,$sql);
    if (!mysqli_query($conn,$sql))
  {
  echo("Error description: " . mysqli_error($conn));
  }
}
mysqli_close($conn);
?>
<html>
<body>
<div id="bodyContent">
<h1> Submit Steps </h1>
</div>
<?php
mysql_connect('localhost', 'root', '');
mysql_select_db('garden');
$result = mysql_query("SELECT * FROM step WHERE R_ID='$var_value'");
$rows = mysql_num_rows($result);
echo "So far you have submitted " . $rows . " steps for your recipe.";
?>
<form method="post">
<table>
<tr>
<td>STEP: </td>
<td>
<textarea type="text" name="Step" class="textInput"></textarea>
</td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" name="Submit_btn" value="submit">
</td>
<td>
<input type="submit" name="Continue_btn" value="Continue">
</td>
</tr>

</table>
</form>
</body>
</html>

您正在运行两次执行查询

mysqli_query($conn,$sql);
此指令执行您拥有的insert查询。执行一次,然后再次执行以验证函数的布尔返回值。您只需要使用验证行

这就是你所拥有的:

  mysqli_query($conn,$sql);
  if (!mysqli_query($conn,$sql))
  {
    echo("Error description: " . mysqli_error($conn));
  }
您只需要:

  if (!mysqli_query($conn,$sql))
  {
    echo("Error description: " . mysqli_error($conn));
  }

验证行将执行函数并返回所需的布尔值。

您将执行两次查询。删除一个如何执行两次:/?第一个用于插入,第二个用于viewing@AkintundeOlawale^
mysqli_查询($conn,$sql);如果(!mysqli_query($conn,$sql))
=twice您也可以在同一脚本中无故使用
mysql
myqli
。建立2 db连接等,乐于帮助;)